本次内容主要是总结一下 Python 数据类型中的 list (列表),关于 list 我在 Python 学习第二章已经简单介绍过了,这次呢,我这边主要总结自己学到的跟大家分享一下,有什么不对或者更好的学习方法,欢迎各位程序猿们关注留言,多多指教 ^_^
1. 首先我们创建一个列表,如下:
1 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 2 print(list_name)
打印结果为:
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
在 Python 以后的编程中,我们经常用到 list 。list 的都包含了那些操作呢?分别为:查、增、删、改、其他。下面我就以例子来说明。
查
- 通过索引(下标),都是从0开始
- 切片
- .count 主要查某个元素出现的次数
- '被查内容' in a 其中 a 是列表变量名
#通过索引打印'zheng' list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] print(list_name[6])
执行结果:
zheng
1 #如果想取第三位到第五位的人名呢? 2 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 3 print(list_name[2:5]) #打印结果为:['sun', 'li', 'zhou']
#列表在取值是左包括,右不包括,就像list_name[2:5],其中list_name[5]为:wu,而打印结果就没打印出来。
1 #列表中元素很多,又不知道在那个位置,想从第二个人开始取出来最后一位呢? 2 3 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 4 print(list_name[1:]) #打印结果为:['qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang'] 5 6 #想取到倒数第二位呢? 7 8 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 9 print(list_name[1:-1]) #-1代指最后一位元素,最后一位取不出来 10 #打印结果为:['qian', 'sun', 'li', 'zhou', 'wu', 'zheng'] 11 12 #跳着取,不再一个一个取 13 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 14 print(list_name[1:6:2]) # 从左往右隔一个取一个,其中2代表步长 15 #打印结果为:['qian', 'li', 'wu'] 16 17 #上述这些都是从左往右取,那么反着取呢? 18 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] 19 print(list_name[7::-1]) #先确定取第一个的人的位置,再通过 - 来改变方向 20 #打印结果为:['wang', 'zheng', 'wu', 'zhou', 'li', 'sun', 'qian', 'zhao']
count()函数
1 # count 查某个元素出现的次数 2 3 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1] 4 b=list_num.count(1) # count(被查询元素) 5 print(b) 6 #打印结果为:3
index() 根据内容找索引(位置)
# index(元素名) 方法用于从列表中找出某个值第一个匹配项的索引位置 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1] print(list_num.index(9)) #输出结果为:4 #问题来了,列表中有2个9,为什么不能找到第二个呢? 这就是要说的#index() 只能找到列表中某个值的第一个匹配位置,怎么找第二个9的位置呢? #利用切片 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1] a=list_num.index(9) # 第一个9在大列表的位置 b=list_num[a+1:] c=b.index(9) #第二个9在小列表的位置 d=a+c+1 #第二个9 在大列表的位置 print('第二个9的位置:',d) #打印结果为:10
增
- append 默认插到最后一个位置
- insert 将数据查到任何一个位置
#将 yang 插入到列表中 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name.append('yang') #append() 函数默认将'yang'插入到列表最后 print(list_name) #输出结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang', 'yang']
insert() 函数应用
#将'yang' 插入到 'zhou' 的前面 #insert('被插入对象前的位置','插入的元素内容') list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name.insert(4,'yang') #先找到'zhou'的位置,然后输入插入对象 print(list_name) #打印结果为:['zhao', 'qian', 'sun', 'li', 'yang', 'zhou', 'wu', 'zheng', 'wang']
改
#单个修改 #list_name[索引] = '替换内容' #多个修改 #liest_name[索引:索引] = ['替换内容1','替换内容2']
#将列表中的'wu'替换为'zhu' list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name[5]='zhu' print(list_name) #打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'zhu', 'zheng', 'wang'] #将列表'li'后面的人员用'song','hou'替换掉 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name[4:]=['song','hou'] print(list_name) #打印结果为:['zhao', 'qian', 'sun', 'li', 'song', 'hou']
删
- remove
- pop
- del
remove() 函数,删除固定的内容,不能切片
#删除'wu'后面的所有元素 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name.remove(list_name[6]) list_name.remove(list_name[6]) print(list_name) #打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu'] #这里为什么不能这样呢? list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] list_name.remove(list_name[6:]) #不能切片 print(list_name) #报错内容:ValueError: list.remove(x): x not in list #意思就是说,list_name[6:]代表里面是个小列表['zheng','wang'],而list_name[]列表中没有这个整体的小列表,找不到这个元素。 #如果将列表改为: list_name=['zhao','qian','sun','li','zhou','wu',['zheng','wang']] list_name.remove(list_name[6]) print(list_name) #打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu']
pop() 函数,根据索引删除,删除内容被返回(也就说,根据索引去删除列表元素,被删除的列表元素可以赋到一个变量上,为后续调用使用)
#删除 'wu' ,顺便将wu打印出来 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] b=list_name.pop(5) #括号里面直接输入删除元素的索引 print(list_name) print(b) #打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'zheng', 'wang'] #wu
del() 函数,可以删除对象
# list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] del list_name[2] print(list_name) #打印结果为:['zhao', 'qian', 'li', 'zhou', 'wu', 'zheng', 'wang'] # del 删除对象 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang'] del list_name print(list_name) #打印结果为:NameError: name 'a' is not defined
其他
reverse() ,将列表中的元素反向存放
#reverse() 将列表反向存放 list_num = [1,6,4,9,2,5] list_num.reverse() print(list_num) #打印结果为:[5, 2, 9, 4, 6, 1]
sort() ,在原来的列表中对元素进行排序
# sort() ,在原来的列表中进行排序 list_num = [1,6,4,9,2,5] list_num.sort() print(list_num) #打印结果为:[1, 2, 4, 5, 6, 9]
列表在这里介绍完了,后面碰到新的问题或者内容再做更新,希望对您有所帮助;如果觉得不错,请点击关注、分享,后续继续分享自己学习 Python的知识。
点击关注,阅读更多内容 ↓↓↓