14. 1 数据类型详解 - 列表
14.1.1 列表的定义与操作
- 可以使用 中括号定义 []
- 使用list函数定义
- 元素可以是任意类型,通常用于存放同类项目的集合
- 列表的拼接
alist1 = [1,2,3,4]
blist2 = ['a','b','c','d','e']
print(alist1+blist2) - 列表元素的重复,乘以数字
print(alist1*3) - 检测元素是否存在于列表
res = 'a' in alist1 - 列表的索引 通过下标获取指定元素
- 通过下标修改元素 blist2[-2] = 'dd'
print(blist2) - 不能通过下标添加元素
- 列表元素中追加元素 list.append()
alist.append('ff')
print(alist)
- 列表元素的删除
- 通过下标进行
del alist[0]
print(alist) - list.pop()
res = alist.pop() # 出栈,提取出列表中最后一个元素
print(res)
print(alist) # 被提取后就没了,输出新的列表
- 获取列表长度 len()
ree = len(alist)
PS:
使用迭代查找一个list中最小和最大值,并返回一个tuple:
def findMinAndMax(L):
mi = mx = None
for x in L:
if mi == None or x < mi: # 注意位置! if x - mi<0 or mi == None:
mi = x # 会报错 TypeError: '<' not supported between instances of 'int' and 'NoneType'
if mx == None or x > mx :
mx = x
return(mi,mx)
14.1.2 列表的切片
list[start[:end[:step]]]
- list[:],lsit[::] == list
- list[start:] 从指定位置开始到列表最后
- list[:end] 从开始到指定位置 之前 结束!!
- list[start:end] 从指定位置开始到指定位置 之前 结束 !!
- list[::-1] 倒着获取列表数据!!!
alist = ['lih','Gasua','ann','jane','mike','kim']
print(alist[:4:2]) # ['lih', 'ann']
list[::-1] 倒着获取列表数据!!
14.1.3 使用切片对列表元素进行删除和更新
- 从指定下标开始,到指定下标 之前 结束,替换为对应的数据(若是容器类型,会拆分分成每个元素进行赋值
0 1 2 3 4 5
alist = ['lih','Gasua','ann','jane','mike','kim']
alist[2:4] = 'a' # ['lih', 'Gasua',