列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。且列表的数据项不需要具有相同的类型,就像下面这样!
list1 = ['zhangsan', 'lisi', 'wangwu', 123]
对于数据的操作一般就是增、删、改、查
首先来说说 查 的操作:
要想访问列表中值可以使用索引,同样你也可以使用方括号的形式截取字符。
list1 = ['zhangsan', 'lisi', 'wangwu', 123] # 我想访问zhangsan这个值就可以用索引将其取出 print(list1[0])
列表中每个元素都分配一个索引,第一个是0,第二个是1,以此类推。
以上实例输出结果:
‘zhangsan’
如果想把中间两元素取出来该怎么操作呢!
是不是可以用
list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[1], list1[2)
但是这是数据很少的情况!如果是数据特别多的情况,且想取中间100个数据,或者是10000个数据,就不能用索引的方式了,因为太麻烦。所以如果想取中间数据,或是一下要取得数据较多的情况,可以用切片进行操作。如下
取出中间两个元素,
list1 = ['zhangsan', 'lisi', 'wangwu', 123] print(list1[1:3]) # 注意:切片操作时,起始位置包括,结束位置不包括,例如上面的1包括,3不包括
以上结果:
['lisi', 'wangwu']
如果想取从第一个元素到第n个元素:
print(list1[0:n])
list1 = ['zhangsan', 'lisi', 'wangwu', 123] print(list1[0:3]) print(list1[:3]) # 这两种输出结果是一样的
['zhangsan', 'lisi', 'wangwu'] ['zhangsan', 'lisi', 'wangwu']
想取最后一个该怎么取呢!加-号从列表后面开始往前:
list1 = ['zhangsan', 'lisi', 'wangwu', 123] print(list1[-1])
123
那如果想取倒数第1和第2怎么取呢!
list1 = ['zhangsan', 'lisi', 'wangwu', 123] print(list1[-2:])
以上输出结果:
['wangwu', 123]
找出元素所在位置的索引
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] print(list1.index('xieba'))
以上输出结果
2
统计列表里相同的元素
list1 = ['zhangsan', 'xieba', 'lisi', 'xieba','wangwu', 123] print(list1.count('xieba'))
以上输入结果:
2
来说说 增 的操作:
list1 = ['zhangsan', 'lisi', 'wangwu', 123] #追加到最后 list1.append(zhaoliu)
print(list1)
以上输出结果:
['zhangsan', 'lisi', 'wangwu', 123, 'zhaoliu']
插入到指定位置
例如想插入到'zhangsan'和'lisi'中间,或者另一种说法是插入到'lisi'现在的位置
list1 = ['zhangsan', 'lisi', 'wangwu', 123] list1.insert(1,'luoqi') print(list1)
以上输出结果:
['zhangsan', 'luoqi', 'lisi', 'wangwu', 123]
来说说 改 的操作:
想把其中的某一个元素改掉
例如把'luoqi'换掉
list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123] list1[1] = 'xieba'
print(list1)
以上输入结果:
['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
反转列表
list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123] list1.reverse() print(list1)
以上输出结果
[123, 'wangwu', 'lisi', 'luoqi', 'zhangsan']
合并列表
list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123] list2 = [1,2,2,3,4,45,'ll'] list1.extend(list2) print(list1)
以上输出结果:
['zhangsan', 'luoqi', 'lisi', 'wangwu', 123, 1, 2, 2, 3, 4, 45, 'll']
来说说 删 的操作:
直接用名字删除
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] list1.remove('xieba') print(list1)
以上输出结果:
['zhangsan', 'lisi', 'wangwu', 123]
用索引删除
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] del list1[1] print(list1)
以上输出结果:
['zhangsan', 'lisi', 'wangwu', 123]
直接删掉整个列表包括这个列表变量
del list1
默认直接删掉最后一个
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] list1.pop() print(list1)
以上输出结果:
['zhangsan', 'xieba', 'lisi', 'wangwu']
也可以输入下标指定删除那个元素
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] list1.pop(1) print(list1)
以上输出结果:
['zhangsan', 'lisi', 'wangwu', 123]
清空
list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123] list1.clear() print(list1)
以上输出结果:
[]