小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
列表
在python中,用方括号[]表示列表,并用逗号分隔其中的元素。如若要访问列表元素,只需将元素的位置(索引)告诉python即可,需注意的是,无论是字符串还是列表,第一个元素的索引都是0而不是1.
列表的创建
# 第一种方式
list1 = []
# 第二种方式
list2 = list()
列表索引
# 列表索引从0开始
list = [1,2,3,4]
# 返回索引对应的元素值
print(list[2])
# 输出结果 3
# 列表切片,列表形式返回,包头不包尾
print(list[0:2])
# 输出结果 [1,2]
3、操作列表
- 列表-添加元素
- 在列表尾部添加 append(值)
- 在指定位置(指定索引)添加 insert(索引,插入值)
- 合并两个列表 extend(),如,A.extend(B):将B列表拼接到A列表尾部,并不会返回一个新数组
list=[1,2,3,4]
# 1. 末尾添加
list.append(9)
# 输入结果 [1,2,3,4,9]
# 2. 指定位置添加,在索引为2的位置插入6
list.insert(2,6)
# 输出结果 [1, 2, 6, 3, 4, 9]
# 3. 合并两个列表
list1 = [1,2,3]
list2 = [7,8,9]
# 向list1后追加list2
list1.extend(list2) # 这条语句是没有返回值的,返回None,所以不能用变量接收
print(list1)
# 输出结果 [1, 2, 3, 7, 8, 9]
- 列表-删除元素
- 直接删除 del 数组[索引值]
- 从后往前删除 pop(1),参数代表索引,没有参数表示删除最后一个元素
- 清除全部元素 clear()
- 从前往后删除,根据元素内容,Remove first occurrence of value, remove(1),参数代表值
list = [1,2,3,4,5,6,7,8]
# 删除索引为2的元素
del list[2]
# 输出结果 [1,2,4,5,6,7,8]
# 2.pop(),默认删除最后一个,
list.pop()
# 输出结果 [1,2,4,5,6,7]
list.pop(2),删除索引为2的元素
# 输出结果 [1,2,5,6,7]
list.remove(2),删除值为2的元素,如果有多个相同值,则删除第一个
# 输出结果 [1,5,6,7]
# 清空列表
list.clear()
- 列表-修改元素
- 给列表指定索引值重新赋值
- 如:
arr[0] = 修改后的值
list = [1,2,3]
list[0] = 9
# 输出结果 [9,2,3]
- 列表-查询元素
- 索引值查找 index(),Return first index of value.
- 统计出现次数 count(),Return number of occurrences of value.
- 判断是否在列表内 成员运算符in
list = [1,2,3,1,6,9]
print(list.index(1)) # 默认返回第一个
# 输出结果 0
print(list.count(1))
# 输出结果 2
print(1 in list)
# 输出结果 True
- 列表-排序
- colors.sort(),永久排序,没有返回值,直接对原列表进行修改
- print(sorted(colors)),临时排序,有返回值,返回排序列表,原列表不会发生任何变化
# 永久排序,排序后后续再操作列表,操作的就是排序后的列表
list = [1,2,3,1,6,9]
list.sort()
print(list)
print(list[2])
# 输出结果 [1, 1, 2, 3, 6, 9] 2
# 临时排序,排序后后续再操作列表,操作仍然是原始的列表
list = [1,2,3,1,6,9]
sorted(list)
print(list)
print(list[2])
# 输出结果 [1, 2, 3, 1, 6, 9] 3
- 列表-遍历
- 遍历整个列表:
for color in colors: - 遍历切片:
for color in colors[:3]: - 使用函数range遍历数值列表:
for i in range(1,5): - 使用函数range()还可指定步长,指定第三个参数即可:
for i in range(1,5,2):
元组
元组看起来与列表相似,但使用圆括号而非方括号标识,严格来说,元组是由逗号标识,圆括号只是让元组看起来更整洁、清晰。因此,如果你定义一个只包含一个元素的元组,也必须在这个元素后加逗号。
创建元组
# 第一种方式
t1 = tuple()
# 第二种方式
t2 = ()
元组解包
# 元组解包
color = ('maxine', 'female', '11')
name, sex, age = color
print(name, sex, age)
# 输出结果 maxine female 11
元组优缺点
- 优点:运行效率更高,不需要额外对内部值约束
- 缺点:不能被修改
遍历元组
元组的遍历与列表一样使用for循环即可。 注意,元组中的元素不可修改,但可以给存储元组的变量赋值。