列表与元组
浏览 1971
课文
列表的概念
列表就是多个任意元素按顺序排列的组合。
创建列表有好几种不同的方式,最简单的方式是用方括号将元素包含在内,同时用逗号作间隔。
例:
[10, 20, 30, 40]
['西瓜', '南瓜', '冬瓜', '西红柿']
[1, '太阳花', 1.2, ['小明', 2]]
第一个列表全部由 int
类型的数据组合而成,第二个列表全部由 str
类型的数据组合而成。像第三个列表就是由 int
与 str
和 一个 list
类型组合而成。
修改列表
就像字符串的操作一样,我们依旧可以用序号去获取列表中的元素。使用方括号操作符,同时记得序号从 0
开始。
dogs = ['泰迪', '哈士奇', '金毛']
print(dogs[0])
泰迪
同时我们还可以修改列表中的元素。
dogs = ['泰迪', '哈士奇', '金毛']
dogs[0] = '秋田犬'
print(dogs)
['秋田犬', '哈士奇', '金毛']
in
操作符可以帮助我们判断元素是否在列表中。
dogs = ['泰迪', '哈士奇', '金毛']
print('泰迪' in dogs)
print('柴犬' in dogs)
True
False
+
操作符可用来拼接列表。
dogs = ['泰迪', '哈士奇', '金毛']
cats = ['蓝猫', '波斯猫']
pets = dogs + cats
print(pets)
['泰迪', '哈士奇', '金毛', '蓝猫', '波斯猫']
*
操作符可以重复列表。
cats = ['蓝猫', '波斯猫']
print(cats * 2)
['蓝猫', '波斯猫', '蓝猫', '波斯猫']
列表切片
列表的切片与字符串类似,有所遗忘的同学可以回看下字符串那章。
t = ['a', 'b', 'c', 'd', 'e', 'f']
print(t[1:3])
print(t[:4])
print(t[3:])
print(t[:])
['b', 'c']
['a', 'b', 'c', 'd']
['d', 'e', 'f']
['a', 'b', 'c', 'd', 'e', 'f']
不同的是列表可对切片再赋值,如果切片的长度与赋值的列表长度不同,会影响到原有列表的长度。
t = ['a', 'b', 'c', 'd', 'e', 'f']
t[1:3] = ['x', 'y', 'z']
print(t)
['a', 'x', 'y', 'z', 'd', 'e', 'f']
列表的方法
append
可在列表结尾追加一个元素。
cats = ['蓝猫', '波斯猫']
cats.append('布偶猫')
print(cats)
['蓝猫', '波斯猫', '布偶猫']
extend
则是同时追加多个元素。
cats = ['蓝猫', '波斯猫']
cats.extend(['布偶猫', '哆啦A梦'])
print(cats)
['蓝猫', '波斯猫', '布偶猫', '哆啦A梦']
sort
则可以帮助我们排序列表。
t = ['d', 'c', 'e', 'b', 'a']
t.sort()
print(t)
['a', 'b', 'c', 'd', 'e']
删除元素
pop
可以帮助我们通过序号删除元素,如果不提供序号值默认删除最后一个元素。pop
在删除一个元素的同时会返回元素。
cats = ['蓝猫', '波斯猫', '哆啦A梦']
print(cats.pop())
print(cats)
哆啦A梦
['蓝猫', '波斯猫']
如果不需要返回被删除的元素值,也可以使用 del
操作符删除元素。
cats = ['蓝猫', '波斯猫', '哆啦A梦']
del cats[0]
print(cats)
['波斯猫', '哆啦A梦']
如果要移除一段切片,同样可以用del
操作符。
cats = ['蓝猫', '波斯猫', '哆啦A梦', '加菲']
del cats[1:3]
print(cats)
['蓝猫', '加菲']
如果需要移除已知的元素,可以用 remove
方法。
cats = ['蓝猫', '波斯猫', '哆啦A梦']
cats.remove('蓝猫')
print(cats)
['波斯猫', '哆啦A梦']
列表相关函数
有一些内建函数可以让我们直接用在列表上。
例:
nums = [3, 41, 12, 9, 74, 15]
print('元素个数:', len(nums))
print('元素最大值:', max(nums))
print('元素最小值:', min(nums))
print('元素值总和:', sum(nums))
print('平均数:', sum(nums) / len(nums))
元素个数: 6
元素最大值: 70
元素最小值: 3
元素值总和: 150
平均数: 25.0
元组
在 python 中元组与列表非常相似甚至有时让人难以区分。元组同样是一系列元素的集合,同样支持任意类型。最大的区别是列表是可以修改的,元组不行。
元组的定义很直观,直接将数据用逗号分隔。
cats = '蓝猫', '波斯猫', '哆啦A梦'
print(type(cats))
print(cats)
<class 'tuple'>
('蓝猫', '波斯猫', '哆啦A梦')
如果我们尝试对元组中的数据进行修改,则会报错。
cats = '蓝猫', '波斯猫', '哆啦A梦'
cats[0] = '美短'
Traceback (most recent call last):
File ".\test\qqwe.py", line 50, in <module>
cats[0] = '美短'
TypeError: 'tuple' object does not support item assignment
实战
1.引导用户输入三个他最喜欢的动物,并将其保存到数组中,最后打印数组。
解析
1.引导用户输入三个他最喜欢的动物,并将其保存到数组中,最后打印数组。
animals = []
animals.append(input('请输入三个你最喜欢的动物:\n'))
animals.append(input())
animals.append(input())
print(animals)
请输入三个你最喜欢的动物:
小狗
小猫
小老鼠
['小狗', '小猫', '小老鼠']
wwd
2021-06-24
充电宝
2021-11-07
小和
2022-09-03