下标索引必须为正整数类型或逻辑类型_Day4.数据类型列表

57939e498a1be5ae2ef91340f1ab4441.gif

例题引导:

三个小盆友 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乘以三
'''4345321[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)
'''14423445490456'''
今日小作业

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

c9294a5858e01eec1d1fce13866ad38c.gif

好文章,我 在看❤

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值