什么是列表?
- 有序
- 内容不限
- 用方括号表示,用逗号分隔其中元素
1. 创建列表
a = [1, 'ana lovelance', [1, 2, 3], 'EasyPython'] # 列表内容不限,可以嵌套列表
a1 = list(range(4)) # 使用函数 list()
2. 访问列表元素
索引从0 开始,切片遵循左闭右开原则
a[0] # 1
a[2] # [1, 2, 3]
a[1:3] # ['ana lovelance', [1, 2, 3]]
a[:2] # [1, 'ana lovelance']
a[1:] # ['ana lovelance', [1, 2, 3], 'EasyPython']
# 最后一个元素的索引为-1,倒第二个元素索引为-2,以此类推
a[-1] # EasyPython
a[-3:-1] # ['ana lovelance', [1, 2, 3]] 注意左闭右开原则
3. 修改添加删除
1)修改,直接赋值即可
a[0] = 'honda'
print(a)
2)添加
append:在列表末尾添加;
insert:在列表任意位置插入,第一个参数表示要插入的位置,第二个参数表示要插入的值。
a.append([2,3])
a.insert(1, 3)
注意:a.append()是没有返回值的,只更新a列表本身,所以print(a.append(b)) 的输出结果为 None,有很多类似的方法都是没有返回值的。
3)删除
del:根据索引删除,删除后该值不会再出现在列表中。
pop:根据索引弹出,pop 有返回值,为弹出的那个元素,并且可将弹出的元素重新赋给新变量。
remove :根据值进行删除。
del a[0] # del 根据索引进行删除,表示删除 a 列表中索引为0的元素
b = a.pop(0)
a.remove('ana lovelance')
4. 排序
临时排序:函数sorted()
永久排序:方法sort()
翻转列表:方法reverse(), 不排序,只单纯的翻转列表。
b = ['r', 'd', 'b', 'x', 'a']
c = sorted(b)
d = sorted(b, reverse = True) # 参数reverse = True表示倒序
b.sort()
b.sort(reverse = True)
b.reverse()
5. 遍历列表
使用for循环实现此功能。
e = ['Sally', 'Snoopy', 'Anna', 'David']
for i in e:
print(i)
# for 后面要跟冒号,循环的内容要缩进
for i in e:
print('Hello,', i, 'Welcome to my birthday party!')
# 使用 for 循环一定要注意缩进
print(list(range(4))) # 输出 [0, 1, 2, 3]
for i in list(range(4)):
print(i ** 2)
# list() 是一个用于创建列表的函数
squ = []
for i in list(range(4)):
squ.append(i ** 2)
# 列表解析,会让你的代码更加简洁!
squ = [i ** 2 for i in range(4)]
6. 其他一些常用操作
a = [1, 2, 2, 2, 5, 6]
b = [7]
len(a) # 列表长度
a + b # 列表拼接
b * 4 # 列表重复
3 in a # 判断某元素是否在该列表中,返回值为True / False
x = [[1,2,3], [4,5,6]]
x[0][1] # 读取嵌套列表的某个元素
max(a) # 最大值
min(a) # 最小值
sum(a) # 列表求和
a.count(2) # 查看某元素在列表中出现了几次
c = ('a', 'b') # 元组
a.extend(c) # 在 a 末尾一次性追加一个序列中的多个值,该序列列表元组字典均可
a.index(2) # 找出某个值的索引,若有多个相同的值只返回第一个值的索引
a.clear() # 清空列表
a.copy() # 复制列表
7. 元组
元组就是不可被修改的列表,用圆括号标记。