一、列表(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)
# 字母识词