python列表元组

193 阅读4分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

列表

在python中,用方括号[]表示列表,并用逗号分隔其中的元素。如若要访问列表元素,只需将元素的位置(索引)告诉python即可,需注意的是,无论是字符串还是列表,第一个元素的索引都是0而不是1.

列表的创建

# 第一种方式
list1 = []
# 第二种方式
list2 = list()

列表索引

# 列表索引从0开始
list = [1,2,3,4]
# 返回索引对应的元素值
print(list[2])
# 输出结果 3
# 列表切片,列表形式返回,包头不包尾
print(list[0:2])
# 输出结果 [1,2]

3、操作列表

  1. 列表-添加元素
    • 在列表尾部添加 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]
  1. 列表-删除元素
    • 直接删除 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()
  1. 列表-修改元素
    • 给列表指定索引值重新赋值
    • 如:arr[0] = 修改后的值
list = [1,2,3]
list[0] = 9
# 输出结果 [9,2,3]
  1. 列表-查询元素
    • 索引值查找 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
  1. 列表-排序
  • 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
  1. 列表-遍历
  • 遍历整个列表: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循环即可。 注意,元组中的元素不可修改,但可以给存储元组的变量赋值。