专栏首页A2DataDay4.数据类型-列表

Day4.数据类型-列表

例题引导:

三个小盆友 Candy,Mandy,Sandy 分别拿着玩具 Teddy bear,Barbie,Lego。建立列表存储上述变量,并依次输出每位小盆友拿着什么玩具(xxx is holding xxx.)。

参考答案:

kids = ['candy','mandy','sandy']
toys = ['Teddy bear','Barbie','Lego']  #先建立两个列表
for i in range(0,3):  #遍历输出
     print(kids[i].title()+' is holding '+toys[i]+'.')

学习引导:

  • 数据类型-列表
    • 增加
    • 插入
    • 嵌套
    • 删除
    • 修改
    • ......

数据类型-列表

List(列表) 是 Python 中使用最频繁的数据类型。

  • 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
  • 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
  • 和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
  • 列表截取的语法格式如下:变量[头下标:尾下标]
  • 列表中的元素是可以改变的,很多操作和字符串类似

下面演示部分列表常用的操作

a=['123','datascience','4345','f','3']
b=['ppp']
print(a[2])  #输出第三个元素
a[0]=321  #讲列表a中的第一个元素替换
print(a[0])  #打印a中第一个元素
print(a[0:3])  #打印a中第一个到第三个元素。注意:python语言取左不取右
print(a[2:-1])  #打印a中第三个到倒数第二个元素
print(a+b)  #将列表a,b相加
print(b*3)  #将列表b乘以三
'''
4345
321
[321, 'datascience', '4345']
['4345', 'f']
[321, 'datascience', '4345', 'f', '3', 'ppp']
['ppp', 'ppp', 'ppp']
'''

列表的特点:

  • 可存放多个值
  • 有序。按照从左到右的顺序定义列表元素,下标从0开始按顺序访问
  • 可修改指定索引位置的值,是可变的。

下面介绍几个处理列表常见的操作

增加 append

names=['data','science']
names
#['data', 'science']
names.append('excellent')
names
#['data', 'science', 'excellent']

插入 insert/extend

names.insert(2,"数据科学")
names
#['data', 'science', '数据科学', 'excellent']
name=['数据科学','学姐','学长']
names.extend(name)
names
#['data', 'science', '数据科学', 'excellent', '数据科学', '学姐', '学长']

嵌套 insert

names
#['data', 'science', '数据科学', 'excellent', '数据科学', '学姐', '学长']
names.insert(2,[0,0,4])
names
#['data', 'science', [0, 0, 4], '数据科学', 'excellent', '数据科学', '学姐', '学长']

直接删除 del

names
#['data', 'science', [0, 0, 4], '数据科学', 'excellent', '数据科学', '学姐', '学长']
del names[2]
names
#['data', 'science', '数据科学', 'excellent', '数据科学', '学姐', '学长']

pop 删除

names
#['data', 'science', '数据科学', 'excellent', '数据科学', '学姐', '学长']
names.pop()  #默认删除最后一个元素并返回被删除的值
names.pop(1)
names
#['data', '数据科学', 'excellent', '数据科学', '学姐']

clear 清空

name
#['数据科学', '学姐', '学长']
name.clear()
name
#[]

修改

names
#['data', '数据科学', 'excellent', '数据科学', '学姐']
names[0]='data2'
names[-1]='Shon'
names
#['data2', '数据科学', 'excellent', '数据科学', 'Shon']

查操作 index /count/remove

names
#['data2', '数据科学', 'excellent', '数据科学', 'Shon']
names.index('excellent')  #返回从左开始匹配到的第一个excellent的索引
#2
names.count('数据科学')   #返回元素“excellent”的个数
#2
'data2' in names
#True
names
#['data2', '数据科学', 'excellent', '数据科学', 'Shon']
names.remove('Shon')
names
#['data2', '数据科学', 'excellent', '数据科学']

切片操作

就像切面包,一片一片的把列表切开

切片操作是列表操作很重要的一部分,一定要弄明白哦。

a=['123','987','3','dc','真的','r']
a
#['123', '987', '3', 'dc', '真的', 'r']
a[0:2]
#['123', '987']
a[4:-1]
#['真的']
a[0:-1]
#['123', '987', '3', 'dc', '真的']
a[4:]
#['真的', 'r']
#步长
a[0:4:2]
#['123', '3']
a[0::2]
#['123', '3', '真的']
a[-1:-6:-1]
#['r', '真的', 'dc', '3', '987']
a[0::]
#['123', '987', '3', 'dc', '真的', 'r']

反转

a[::-1]
#['r', '真的', 'dc', '3', '987', '123']
a[::-2]
#['r', 'dc', '987']

排序

b=[4,90,54,23,44,456,1,4]
b
#[4, 90, 54, 23, 44, 456, 1, 4]
b.sort()
b
#[1, 4, 4, 23, 44, 54, 90, 456]
m='数据科学'
m
#'数据科学'
m[::-1]
#'学科据数'

循环列表

for循环

for i in b:
    print(i)
'''
1
4
4
23
44
54
90
456
'''

今日小作业

1.输入n个整数,用空格分开,输出这些整数中的最大值及最大值的下标,如对应多个下标,返回最小下标。

例如输入3 4 7 2 5 7,输出7 2

2.判断季节,输入一个月份,判断该季节属于哪个季节

3.敏感词替换习题,模仿评论中出现敏感词后,替换成*,将不敏感的词以列表形式输出

4.用range()函数创建一个1到100的正整数数列:[1, 2, 3, ..., 100]请利用切片从上述数列中分别取出:

  • 前10个数;
  • 后10个偶数;
  • 3的倍数;
  • 不大于50的5的倍数

5.将输入的一行字符串构造为列表(每个字母为一个元素),依次做如下操作并输出结果:

  • 将第2个元素(元素个数从0开始计算)直到末尾替换为op;
  • 将第3个元素替换为ui;
  • 从第2个元素开始直到末尾,每隔一个元素,替换一个元素,依次替换为wo

本文分享自微信公众号 - DataScience(DataScienceTeam),作者:DataSciecne

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Python基础】if语句-条件测试&列表

    在上一条推送中,我们介绍了每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。

    DataScience
  • Python强化练习

    DataScience
  • 流程控制

    流程控制(也称为控制流程)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都...

    DataScience
  • 相对不常见,但非常有用的Python技巧

    查看英文原文 :https://hackernoon.com/python-tricks-101-2836251922e0

    银河1号
  • Python数据结构列表字典元组和集合

    罗罗攀
  • Python编程思想(5):列表与元组的基础知识

    列表(list)、 元组(tuple) 和字典(dict)是Python中非常常用的三种集合类型数据结构,这三种数据结构都可用于保存多个数据项,这对于编程而言是...

    蒙娜丽宁
  • Python基础为重,成就月薪过万

    傻瓜式,傻瓜式的你可以直接点开进行下载,但是智能下载这版本,有的人愿意下载别的版本所以就要用到另外的方法

    一墨编程学习
  • 谷歌大脑发现神经网络的“牛顿法”:网络足够宽,就可以简化成线性模型

    来自谷歌大脑的研究者发现,对于宽神经网络,深度学习动态可以大大简化,并且在无限宽度限制条件下,它们由网络初始参数的一阶泰勒展开的线性模型所决定。

    量子位
  • US News全美人工智能研究生院排名:CMU第一,MIT第二

    【新智元导读】US News 的大学排行榜是全球最具影响力的大学排行榜之一,一直有着非常大的影响力。3月20日,US News发布2019美国最佳研究生院排名,...

    新智元
  • Glusterfs之nfs模块源码分析(上)之nfs原理和协议

    技巅

扫码关注云+社区

领取腾讯云代金券