list 相当于别的语言数组,符号: [ ]
1.定义:
name = ['aaa ', 'bbb ', ' ccc']
name1 = [ ]
2.符号:
+ 列表的拼接
* 列表元素成倍
in (not in) 在列表中的判断
is (not is) 判断列表相等
list1 = [1, 2, 3]
list2 = ['1', '2', '3']
list3 = list1 + list2
list4 = list1 * 2
result1 = 1 in list1
result2 = list1 is list2
print(list3)
print(list4)
print(result1)
print(result2)
# 运行结果:
[1, 2, 3, '1', '2', '3']
[1, 2, 3, 1, 2, 3]
True
False
3.系统中给列表用函数:
len(list1) 返回列表长度
sorted(list1) 排序(不改变原列表) # list1.sort() 改变原列表顺序,返回值为None
max() 最大值
min() 最小值
list() 强制转化为列表
enumerate() 枚举
list1 = [5, 3, 6, 9]
print(len(list1))
print(sorted(list1))
print(list1)
print(max(list1))
print(min(list1))
for i in enumerate(list1):
print(i)
# 运行结果:
4
[3, 5, 6, 9]
[5, 3, 6, 9]
9
3
(0, 3)
(1, 5)
(2, 6)
(3, 9)
4.列表的更删改查:
查:(空的列表也会分配地址)
元素获取结合下标:
num = [1, 2, 3] 列表内的元素下标从0开始,0,1,2,三个
names = ['1', '2', '3', '4', '5']
name1 = []
print(id(names))
print(id(name1)) # 空列表也分配地址
# 元素获取:下标,索引 []规则相同
print(names) # ['1', '2', '3', '4', '5']
print(names[0]) # 1
# 获取最后一个元素
print(names[-1])
print(names[len(names) - 1]) # 取值最后一位
也可以结合for循环:
for i in names:
print(i)
将列表的所有的元素打印
2.改:
通过下标找到 2.赋值 =
names[0] = 5
3.删:
del关键字
1.找到下标 2.del name[下标]
注意: for循环中,如果将列表作为可迭代对象,循环过程中删除元素,会改变列表长度,超出循环范围
5.列表的自身函数:
添加:
append() 末尾添加
extend() 末尾添加一组
insert() 指定位置添加
删除:
del 删除
remove() 删除指定元素
pop() 末尾删除,弹栈
clear() 清空列表
其他:
count() 返回指定元素个数
sort() 排序
reverse() 反转[1,2,4,3] --->[3,4,2,1,]
list1 = ['孙悟空', '牛魔王', '猪八戒']
list1.append('唐僧')
print(list1)
list2 = ['沙僧', '白龙马']
list1.extend(list2)
print(list1)
list1.insert(6, '观音')
print(list1)
del list1[1]
print(list1)
list1.pop()
print(list1)
print(list1.count('孙悟空'))
list1.reverse()
print(list1)
list1.clear()
# 运行结果:
['孙悟空', '牛魔王', '猪八戒', '唐僧']
['孙悟空', '牛魔王', '猪八戒', '唐僧', '沙僧', '白龙马']
['孙悟空', '牛魔王', '猪八戒', '唐僧', '沙僧', '白龙马', '观音']
['孙悟空', '猪八戒', '唐僧', '沙僧', '白龙马', '观音']
['孙悟空', '猪八戒', '唐僧', '沙僧', '白龙马']
1
['白龙马', '沙僧', '唐僧', '猪八戒', '孙悟空']
6.列表的切片操作:
list1 = ['李沁', '杨幂', '佟丽娅', '刘亦菲', 100, 99.9, 'abc'] # 列表里可以混着放
print(list1[3])
print(list1[3:5]) # 将切的结果保存在一个列表里
print(list1[-1:]) # 包前不包后
print(list1[::2]) # 支持步长
print(list1[-1::-1]) # 逆向取值
list1 = ['李沁', '杨幂', '佟丽娅', '刘亦菲', 100, 99.9, 'abc'] # 列表里可以混着放
print(list1)
print(list1[3])
print(list1[3:5]) # 将切的结果保存在一个列表里
print(list1[-1:]) # 包前不包后
print(list1[::2]) # 支持步长
print(list1[-1::-1]) # 逆向取值
# 运行结果:
['李沁', '杨幂', '佟丽娅', '刘亦菲', 100, 99.9, 'abc']
刘亦菲
['刘亦菲', 100]
['abc']
['李沁', '佟丽娅', 100, 'abc']
['abc', 99.9, 100, '刘亦菲', '佟丽娅', '杨幂', '李沁']