列表:中括号括起来,里面有多个元素(项),项可以数字、字符串、布尔,每一项逗号分隔。
1. (常用)创建一个非空列表
num_list =[1, 2, 3, 4]
2. 创建一个空列表,之后再修改
num_list = []
3. 类实例化创建(不常用)
list1 = list()
添加
1>. append() 追加
列表对象.append(新项) ,追加一个元素到列表末尾。
list1 =[1,2,3]
list1.append(4) →[1,2,3,4]
2>. (不常用)insert()
列表对象.insert(索引,新项) ,插入到指定下标处。
list1 =[1,2,3]
list1.insert(0, 4) →[4,1,2,3]
3>. (不常用)列表合并
两个变量都是列表时,可以合并
list1 =[1]
list2 =[2, 3]
list1 + list2 →[1,2,3]
4>. 批量添加
通过循环获取新项并依次调用append()
list1 =['小明', '小红']
for i in['小李', '小王', '小肖']:
list1.append(i)
list1 →['小明', '小红', '小李', '小王', '小肖']
## 删除
1>. pop()
列表对象.pop(索引) ,删除指定索引的那一项,删除成功后返回删除的内容。
list1 =[1,2,3]
list1.pop(0) → 1
2>. remove()
列表对象.remove(项内容),根据项的内容删除。
list1 =['小明', '小红', '小青']
list1.remove('小红')
list1 →['小明', '小青']
3>. (不常用)clear()
列表对象.clear() ,清空所有项。
list1 =['小明', '小红', '小青']
list1.clear()
list1 → []
4>. (不常用)关键字 del
list1 =['小明', '小红', '小青']
del list1[0]
list1 →['小红', '小青']
## 修改
1>. 根据下标修改
列表对象[索引] = 新值
list1 =['小明', '小红', '小青']
list1[1] = '小王'
list1 →['小明', '小王', '小青']
## 访问
1>. 通过下标(索引 index)访问。
列表中的项以 0,1,2...编号。比如[1,2,3]中的元素1的下标是0。
list1 =[1,2,3]
list1[0] → 1
list1[-1] → 3 下标负数表示倒数第几项
2>. 遍历,访问列表中每一项
for i in['小明', '小红', '小青']:
print(i)
3>. 遍历,循环下标。 场景 修改。
len(列表对象) 返回的是列表的项数。
list1 =['小明', '小红', '小青']
for i in range(0, len(list1)):
print(list1[i])
'''
'''
## 切片 slice
列表对象[起始下标 : 结束下标+1 : 步进] 左闭右开区间
list1 =['小明', '小红', '小青', '小王', '小杨']
list1[0: 2] →['小明', '小红']
list1[: 2] →['小明', '小红'] 简写,从头开始截取,下标0的话可以省略
list1[2:] →['小青', '小王', '小杨'] 简写,截取到末尾,末尾下标省略
list1[1:3] →['小红', '小青']
list1[-3: -1] →['小青', '小王'] 下标可以为负
list1[4: 0] → [] 注意截取的方向,第一个下标小于第二个下标,否则返回空
list1[::-1] →['小杨', '小王', '小青', '小红', '小明']
## 查找
num_list =[1,2,3,4]
num_list.index(1) → 0
num_list.index(5) → 报错ValueError
## in 判断, if 条件
num_list =[1,2,3,4]
1 in num_list → True
场景 与if 连用。
if 1 in[1,2,3,4]:
if []: 空列表 if判断为False。
## 排序
todo
## 可能出现的错误
num =[1,2,3,4]
num[4]
报错下标越界。IndexError: list index out of range
错误一般发生在收集数据代码逻辑错误,列表本身就位空。