1. 认识列表
看一下我们在变量那一节创建的列表
list1 = ['张三丰', '宋远桥、俞莲舟、俞岱岩、张松溪、张翠山、殷梨亭、莫声谷', '太极拳', '太极剑']
与字符串不同的是
- 结构不同,以[ ]来包裹,每个元素用半角的逗号’,’隔开
 - 字符串就是一串字符,而列表可以放任意多个字符串,不止是字符串,其它数据类型也可以放,例如: ```python list1 = [1, ‘金庸’, [1,’jianghu’], (‘haha’, 1, ‘呵呵’), {‘郭靖’:’降龙十八掌’, ‘杨过’:’黯然销魂掌’},{‘12’, 1, 2, 2, 2}] list1这个列表里,包含了:数字、字符串、列表、元祖、字典、集合六种数据类型 p rint(list1) 执行结果: [1, ‘金庸’, [1, ‘jianghu’], (‘haha’, 1, ‘呵呵’), {‘郭靖’: ‘降龙十八掌’, ‘杨过’: ‘黯然销魂掌’}, {1, 2, ‘12’}]
 
下标
print(list1[0]) # 1 print(list1[1]) # 金庸
切片
print(list1[0:4]) 执行结果: [1, ‘金庸’, [1, ‘jianghu’], (‘haha’, 1, ‘呵呵’)]
**与字符串相同的是:**- 都支持下标和切片,规则相同- 列表是有序的,每个元素都有自己固定的位置<a name="Vi0Wx"></a>## 2. 循环遍历<a name="uc78b"></a>#### 2-1. 使用for循环```pythonlist1 = [1, '金庸', [1,'jianghu'], ('haha', 1, '呵呵'), {'郭靖':'降龙十八掌', '杨过':'黯然销魂掌'},{'12', 1, 2, 2, 2}]for i in list1:print(i)执行结果:'''1金庸[1, 'jianghu']('haha', 1, '呵呵'){'郭靖': '降龙十八掌', '杨过': '黯然销魂掌'}{1, 2, '12'}'''
2-2. while循环
list1 = [1, '金庸', [1,'jianghu'], ('haha', 1, '呵呵'), {'郭靖':'降龙十八掌', '杨过':'黯然销魂掌'},{'12', 1, 2, 2, 2}]length = len(list1) # 计算列表的长度,即有多少个元素组成a = 0while a<length:print(list1[a])a+=1
3. 列表的增删查改和排序
3-1. 向列表中添加元素
| append | 直接向列表中添加元素 | 
|---|---|
| extend | 可以将另一个集合中的元素逐一添加到列表中 | 
| insert | insert(index, object) 在指定位置index前插入元素object | 
# 创建列表1list1 = ['段誉', '一阳指', '北冥神功', '凌波微步']# 向列表中添加字符串“六脉神剑”list1.append('六脉神剑')print(list1)# ['段誉', '一阳指', '北冥神功', '凌波微步', '六脉神剑']# 将元祖list2中的元素都添加到列表中list2 = ('木婉清','钟灵', '王语嫣')list1.extend(list2)print(list1)# ['段誉', '一阳指', '北冥神功', '凌波微步', '六脉神剑', '木婉清', '钟灵', '王语嫣']# 在制定位置插入指定内容:insert()list1.insert(1, '爱美人不爱江山')print(list1)# ['段誉', '爱美人不爱江山', '一阳指', '北冥神功', '凌波微步', '六脉神剑', '木婉清', '钟灵', '王语嫣']
3-2. 修改元素
通过下标即可
list1 = ['段誉', '一阳指', '北冥神功', '凌波微步']list1[1] = '泡妞一流'print(list1)# ['段誉', '泡妞一流', '北冥神功', '凌波微步']
3-3. 查找元素
成员运算符:in, not in,
内置方法:index, count
list1 = ['段誉', '一阳指', '北冥神功', '凌波微步']# 判断’一阳指‘是否在列表list1中。使用in。if '一阳指' in list1:print('段誉会一阳指')else:print('段誉不会一阳指')# 段誉会一阳指
3-4. 删除元素
三种方法:
| del | 根据下标进行删除 | 
|---|---|
| pop | 删除最后一个元素 | 
| remove | 根据元素的值进行删除 | 
list1 = ['段誉', '一阳指', '北冥神功', '凌波微步', '俘虏女人心']# 删除下标为2的元素del list1[2]print(list1)# ['段誉', '一阳指', '凌波微步', '俘虏女人心']# 删除最后一个元素list1.pop()print(list1)# ['段誉', '一阳指', '北冥神功', '凌波微步']# 删除’凌波微步‘list1.remove('凌波微步')print(list1)# ['段誉', '一阳指', '北冥神功', '俘虏女人心']
3-5. 排序(sort/reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
| sort() | 对源列表进行修改 | list.sort() | 
|---|---|---|
| reverser() | 将list逆置。 | list.reverse() | 
| sorted | 重建一个列表,所以必须有变量名接收 | list2 = sorted(list) | 
list2 = [2,3,5,1,2,6,9,5,4,2]list2.sort()print(list2)# [1, 2, 2, 2, 3, 4, 5, 5, 6, 9]list2.reverse()print(list2)# [2, 4, 5, 9, 6, 2, 1, 5, 3, 2]list3 = sorted(list2)print(list3)# [1, 2, 2, 2, 3, 4, 5, 5, 6, 9]
