python 列表

  1.列表

1.创建列表方式

1.1用中括号

>>> number = [1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]
1.2.list()方法,参数应为可迭代序列

>>> list((1,2,3,4))
[1, 2, 3, 4]
1.3.创建空列表

>>> emtry = []

2.列表的操作

2.1:添加元素

2.1.1:  append()  ,向列表末尾添加一个对象

>>> number = [1,2,3,4]
>>> number.append(5)
>>> number
[1, 2, 3, 4, 5]
View Code

2.1.2:extend(),两个列表组合成一个列表

>>> name = ['zzh','ssc','cch']
>>> name.extend(['ee','cc','gg'])
>>> name
['zzh', 'ssc', 'cch', 'ee', 'cc', 'gg']
View Code

2.1.3:insert(),向列表中指定位置添加元素

>>> ls = ['cd','dir']
>>> ls.insert(1,'chown')
>>> ls
['cd', 'chown', 'dir']
View Code

2.2:查找列表中的元素

2.2.1:通过索引

>>> ls = ['cd','dir']
>>> ls[0]
'cd'
View Code

2.2.2:通过切片

>>> ls = ['cd','dir','chown','mkdir','ll','tail']
>>> ls[:]   #查找所有的元素
['cd', 'dir', 'chown', 'mkdir', 'll', 'tail']
>>> ls[1:]  #查找从索引1以后的元素
['dir', 'chown', 'mkdir', 'll', 'tail']
>>> ls[:3]  #查找从索引3以前的元素
['cd', 'dir', 'chown']
>>> ls[1:4] # 查找从索引1到4(不包含4)的元素
['dir', 'chown', 'mkdir']
>>> ls[-1]  #逆向查询
'tail'
>>> 
View Code

2.2.3:切片可根据步长实现功能

>>> eggs = ['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
>>> eggs[0:4:2]
['鸡蛋', '鸭蛋']
View Code

2.2.4:通过切片实现列表元素变更位置

>>> eggs = ['鸡蛋','鸭蛋','鹅蛋','鹌鹑蛋']
>>> eggs[1] = '鹅蛋'
>>> eggs[2] = '鸭蛋'
>>> eggs
['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
View Code

2.3:删除元素

2.3.1:通过索引,删除元素

>>> eggs = ['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
>>> del eggs[0]
>>> eggs
['鹅蛋', '鸭蛋', '鹌鹑蛋']
View Code

2.3.2:直接删除整个列表

>>> eggs = ['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
>>> del eggs
>>> eggs
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    eggs
NameError: name 'eggs' is not defined
View Code

2.3.3:pop()方法

>>> eggs = ['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
>>> eggs.pop() #删除最后一个参数并返回
'鹌鹑蛋'
>>> eggs
['鸡蛋', '鹅蛋', '鸭蛋']
View Code
>>> eggs = ['鸡蛋', '鹅蛋', '鸭蛋', '鹌鹑蛋']
>>> eggs.pop(1)  #删除指定索引的元素并返回
'鹅蛋'
>>> eggs
['鸡蛋', '鸭蛋', '鹌鹑蛋']
View Code

3.一些常用的操作符

3.1:比较符

>>> num1 = [1,2,3]
>>> num2 = [2,3]
>>> num1 > num2  #列表包含多个元素的时候,默认是从第一个元素开始比较,只有一个PK赢了,就算整个列表赢了
False
View Code

 3.2:加号,把两个列表合并成一个列表

>>> num1 = [1,2,3]
>>> name = ['zs','ls','ww']
>>> num1 + name
[1, 2, 3, 'zs', 'ls', 'ww']
View Code

3.3:乘法,复制自身若干次

>>> name = ['zs','ls','ww']
>>> name * 4
['zs', 'ls', 'ww', 'zs', 'ls', 'ww', 'zs', 'ls', 'ww', 'zs', 'ls', 'ww']
View Code

3.4:成员关系符in或not in

>>> ll = [1, 2, 3, 'zs', 'ls', 'ww']
>>> 'zs' in ll
True
>>> 'cd' in ll
False
View Code

4.列表的方法

4.1:count() 这个方法的作用是计算的参数在列表中出现的次数

>>> ll = [1,1,2,3,4,5,6,14,21]
>>> ll.count(1)
2
View Code

4.2:index() 这个方法会返回它的参数在列表中的位置

>>> ll = [1,1,2,3,4,5,6,14,21]
>>> ll.index(1)  #有相同的时候,显示最先的位置
0
>>> ll.index(4)
View Code

4.3:reverse() 将整个列表原地翻转

>>> ll = [1,1,2,3,4,5,6,14,21]
>>> ll.reverse()
>>> ll
[21, 14, 6, 5, 4, 3, 2, 1, 1]
View Code

4.4:sort() 指定的方式对列表的成员进行排序,默认不需要参数,从小到大排列

>>> l2 = [8,9,3,5,2,6,10,1,0]
>>> l2.sort()
>>> l2
[0, 1, 2, 3, 5, 6, 8, 9, 10]
View Code

4.5:当想要从大到小排列时,可以先用sort()方法,在用revese()方法,也可以用sort(reverse=True)

>>> ll = [8,9,3,5,2,6,10,1,0]
>>> ll.sort()
>>> ll.reverse()
>>> ll
[10, 9, 8, 6, 5, 3, 2, 1, 0]
>>> lll = [8,9,3,5,2,6,10,1,0]
>>> lll.sort(reverse=True)
>>> lll
[10, 9, 8, 6, 5, 3, 2, 1, 0]
View Code

4.6:分片拷贝

>>> li1 = [1,3,2,9,7,8]
>>> li2 = li1[:]  #不随li1的变化而变化
>>> li3 = li1
>>> li1.sort()
>>> li1
[1, 2, 3, 7, 8, 9]
>>> li3
[1, 2, 3, 7, 8, 9]
>>> li2
[1, 3, 2, 9, 7, 8]  
View Code
原文地址:https://www.cnblogs.com/zjl-001/p/9575248.html