一、列表(list)
- 列表用
[]
表示:li1 = [18, 19, 20, 21, 22]
- 列表的本质为一种有序的集合
- 创建列表
# 创建空列表
li2 = []
li3 = list()
print(li2)
print(li3)
# 创建带有初始元素的列表
# 列表中的元素是可以不同的,但是一般相同
li4 = [1, 2, 3, 4, 5, 'good', True]
print(li4)
- 列表元素的访问
# 列表元素的访问
# 获取 列表名[下标]
li5 = [18, 19, 20, 21, 22]
print(li5[2])
# print(li5[5]) 报错,因为列表越界
# 修改 列表名[下标] = 值
li6 = [18, 19, 20, 21, 22]
li6[2] = 30
print(li6[2])
- 列表的常用方法
# 列表的常用方法
# 计算元素个数
li7 = [1, 2, 3, 4, 5]
print(len(li7))
print(li7.__len__())
# 增
li8 = [1, 2, 3, 4, 5]
print(li8)
# 在末尾增加一个元素
li8.append(6)
print(li8)
# 在指定位置(某个下标处)插入元素,原数据按顺序后移
li8.insert(0, 100)
print(li8)
# 将参数列表中每一个元素都插入到原列表中
li8.extend([7, 8, 9])
print(li8)
# 删除列表中的元素
li9 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 按下标删除元素,默认为-1,返回删除的元素
li9.pop()
print(li9)
# 按元素值删除第一个出现的元素
li9.remove(4)
print(li9)
# 改
# 查
li10 = [1, 2, 3, 4, 4, 6, 7, 8, 6]
# 获取元素第一次出现的下标
print(li10.index(4))
# 反转
li11 = [1, 2, 3, 4, 5]
li11.reverse()
print(li11)
# 排序,默认升序
li12 = [0, 6, 3, 1, 9]
li12.sort()
print(li12)
# 删除整个列表
li13 = [0, 6, 3, 1, 9]
del li13
# print(li13) 报错,不存在此变量
- 注意:列表中的元素是可以不同的,但是一般相同
二、元组(tuple)
- 元组的本质也是一种有序集合
- 元组的创建
# 创建空元组
tu1 = tuple()
print(tu1, type(tu1))
tu2 = ()
print(tu2, type(tu2))
# 创建带有元素的元组
tu3 = (1, 2, 3, 4, 5)
print(tu3)
# 创建只有一个元素的元组,元组需要添加一个逗号,否则类型为数字类型
tu4 = (1,)
print(tu4)
- 元组元素的访问
# 元素的访问
tu5 = (1, 2, 3, 4, 5)
print(tu5[2])
- 常用方法
# 元组常用方法
# 计算元组个数
tu6 = (1, 2, 3, 4, 5)
print(len(tu6))
# 查
print(tu6.index(2))
# 元组的删除
del tu6
- 注意:元组不能够增加、修改,它在定义好之后就不能再修改了
- 列表和元组的切片与字符串相同
三、字典
- 字典是无序的,以键值对的方式存储数据(
key-value
) - 关于
key
:
- 每个键值对的
key
必须唯一 - 不可变类型的数据才可以为
key
-
key
一般为字符串
- 字典的创建
# 字典
per = {'name': 'sunck', 'age': 18, 'height': 175, 'weight': 77}
print(per)
- 字典的访问
- 字典的获取
# 获取 字典名[key]
print(per['age'])
# print(per['money']) 报错
# 得到一个None值
print(per.get('money'))
- 字典的修改
# 修改,如果键不存在则为增加,键存在则为修改
per['weight'] = 75
print(per)
per['money'] = 9000000
print(per)
- 注意:
- 一个字典有多个键值对,每个键值对用逗号隔开,键值对中的键与值用冒号连接
- None是一种数据类型,叫做空类型,只有None这一个值,表示没有
四、综合练习题
# 将list[1, 2, 3, 4, 5, 1, 2, 3]去重,即输出[1, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5, 1, 2, 3]
l2 = list(set(l1))
print(l2)
# 将dict{'1': 'a', '2': 'b', '3': 'c', '4': 'd'}的键和值互换,即输出{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
d1 = {'1': 'a', '2': 'b', '3': 'c', '4': 'd'}
d2 = {}
for key, value in d1.items():
d2[value] = key
print(d2)
# 列表转字典
l3 = ['1', '2', '3', '4']
l4 = ['a', 'b', 'c', 'd']
print(dict(zip(l3, l4)))
# 将序列分解为单独的变量
l5 = [1, 2, 3]
x, y, z = l5
print(x, y, z)
for num in l5:
print(num)
# 字母识词