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循环
```python
list1 = [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 = 0
while a<length:
print(list1[a])
a+=1
3. 列表的增删查改和排序
3-1. 向列表中添加元素
append | 直接向列表中添加元素 |
---|---|
extend | 可以将另一个集合中的元素逐一添加到列表中 |
insert | insert(index, object) 在指定位置index前插入元素object |
# 创建列表1
list1 = ['段誉', '一阳指', '北冥神功', '凌波微步']
# 向列表中添加字符串“六脉神剑”
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]