列表与元组不同:
列表可编辑可变,元组不可变
创建列表
1.创建列等长的二维列表:
dictionary = []
for i in range(num):
dictionary.append([])
line = input().split(" ")
for j in range(2):
dictionary[i].append(line[j])
2.创建不等长的二维列表:
operation = []
for i in range(num):
line = input().split(" ")
operation.append(line)
3.从元组生成:
b =list((1,8.0,”abc”,obj))
列表的方法
1.求列表的长度:len(list)
2.在列表尾加元素:list.append(element)
3.删除列表元素的三种方法:
- del list[0] //删除指定位置的列表元素,用于删除元素的位置已知
- List.pop(i)//删除第i处的元素(从0开始算),不填默认弹出最后一个
- List.remove(element)//根据值删除元素,删除list中值为element的元素
4.索引和切片操作:
- 有正序索引和负序索引:0,1....和-... ,-2,-1
- 切片操作可以同时结合正序索引和负序索引
- 切片:list[start:end:intervel]
- 例如:a = list( (1,2,3,4,5) )
a[0:4:2]=[1 3]
a[-3:1]=[]
a[-3:3]=[3]
a[-1:-6:-1]=[5,4,3,2,1] - 利用索引回文列表:num_chrevrese = num_ch[-1:(-1-len(num_ch )):-1]
5.集合操作:
- a in A:判断是否a在A中,布尔值返回
- a not in A:判断a是否不在A中
- A.count(a):统计A中出现a的次数
- A.index(a[,i[,j]]):
a在A中第一次出现的位置(索引值) 。 |
6.连接列表:+
7.重复操作:3*[1,2]和[1,2]*3一样,结果为[1,2,1,2,1,2]
8.比较操作:运算符: <、 >、 <=、 >=、 ==和! =
例:[1,2]<[1,3]的为逐个比较大小,结果为True, 结果为布尔类型
注:字符型不能与数字比较
9.判断列表所有元素是否为假操作:
10.列表排序:
- sorted(listobj, key = None, reversed = False)
内置函数sorted([1,3,2,4,5]), 返回一个新的列表[1,2,3,4,5] - listobj.sort(key = None, reverse = False)
内置函数sort,修改原列表对象的内容 - 自定义排序方法:都可以按函数key的结果排序,并选择正序和反序
按照key1函数计算新的映射值,并按照映射值的大小对原列表元素进行排序。
- 多级排序:
- ①lambda表达式:temp.sort(key = lambda y:(y[5],-y[2],-y[3],-y[4],-y[1],-y[6]))//元素不加负号升序,加负号降序
- ②函数://通过返回元组
11.拆封操作:
12.取列表中值为name的第一个序列下标:namelist.index(name)
13.判断列表是否为空:
- if en(list_temp):
- if ist_temp:
14.列表型的数据特性索引:有正常的从0逐渐增大,也有从负的小数逐渐到最后一个-1的数
0.其他方法:
- 注:几种拷贝的区别
- 浅拷贝是第一层是新建的,第二层还是指向同一个地址
0.更多方法: