1.1 字典的定义
字典提供了可以基于key查找value的场景实现
# 定义一个字典
my_dict1 = {"女帝":"岐国","蚩梦":"万毒窟"}
my_dict2 = {}
my_dict3 = dict()
print(my_dict1,type(my_dict1))
print(my_dict2,type(my_dict2))
print(my_dict3,type(my_dict3))
# {'女帝': '岐国', '蚩梦': '万毒窟'} <class 'dict'>
# {} <class 'dict'>
# {} <class 'dict'>
# 定义重复key的字典
my_dict4 = {"女帝":"岐国","女帝":"万毒窟"}
print(my_dict4,type(my_dict4))
# {'女帝': '万毒窟'} <class 'dict'> 后面的value将前面的value覆盖
# 从字典中基于key获得value
my_dict = {"女帝":"岐国","蚩梦":"万毒窟"}
element = my_dict["女帝"]
print(element)
# 岐国
# 定义嵌套字典
stu_score_dict = {
"老王":{
"数学":100,
"英语":60,
"语文":90
},
"老李":{
"数学":80,
"英语":80,
"语文":80
},
"老赵":{
"数学":60,
"英语":100,
"语文":80
}
}
print(stu_score_dict)
# {'老王': {'数学': 100, '英语': 60, '语文': 90},
# '老李': {'数学': 80, '英语': 80, '语文': 80},
# '老赵': {'数学': 60, '英语': 100, '语文': 80}}
print(stu_score_dict["老王"]["数学"])
# 100
注意:键值对中的key不可以为字典,key和value可以为任何类型
key不允许重复,重复添加相当于覆盖原有数据
字典不允许下标索引,只能通过key查找
1.2 字典常用方法
# 定义一个字典
my_dict = {"女帝":"岐国","蚩梦":"万毒窟"}
# 更新元素
my_dict["女帝"] = "幻音坊"
print(my_dict)
# {'女帝': '幻音坊', '蚩梦': '万毒窟'}
# 新增元素
my_dict["降臣"] = "玄冥教"
print(my_dict)
# {'女帝': '幻音坊', '蚩梦': '万毒窟', '降臣': '玄冥教'}
# 删除元素
location = my_dict.pop("女帝")
print(location)
# 幻音坊
# 清空元素
my_dict.clear()
print(my_dict)
# {}
# 获取全部的key
my_dict = {'女帝': '幻音坊', '蚩梦': '万毒窟', '降臣': '玄冥教'}
keys = my_dict.keys()
print(keys)
# dict_keys(['女帝', '蚩梦', '降臣'])
# 遍历字典
for element in my_dict:
print(element)
print(my_dict[element])
# 女帝
# 幻音坊
# 蚩梦
# 万毒窟
# 降臣
# 玄冥教
# 统计字典内的元素数量
print(len(my_dict))
# 3
注意:新增元素与更新元素语法一致,若字典存在key则为更新,不存在为新增。
1.3 字典的特点
可以容纳多个数据,不同类型的数据,每一份数据都是键值对,不支持下标索引,可以修改,支持for循环,不支持while循环
2.1 数据容器的对比
2.2 数据容器的通用操作
my_list = [1,2,3,4,5,6]
my_tuple = (1,2,3,4,5,6)
my_str = "123456"
my_set = {1,2,3,4,5,6}
my_dict = {"key1":1,"key2":2,"key3":3,"key4":4,"key5":5,"key6":6}
# len元素个数
print(len(my_list))
print(len(my_tuple))
print(len(my_str))
print(len(my_set))
print(len(my_dict))
# 6
# max
print(max(my_list))
print(max(my_tuple))
print(max(my_str))
print(max(my_set))
print(max(my_dict))
# 6
# 6
# 6
# 6
# key6
# 类型转换:容器转元组
print(tuple(my_list))
print(tuple(my_tuple))
print(tuple(my_str))
print(tuple(my_set))
print(tuple(my_dict))
# (1, 2, 3, 4, 5, 6)
# (1, 2, 3, 4, 5, 6)
# ('1', '2', '3', '4', '5', '6')
# (1, 2, 3, 4, 5, 6)
# ('key1', 'key2', 'key3', 'key4', 'key5', 'key6')
# 排序
my_list = [5,2,6,4,1,3]
my_tuple = (5,2,6,4,1,3)
my_str = "526413"
my_set = {5,2,6,4,1,3}
my_dict = {"key5":5,"key2":2,"key6":6,"key4":4,"key1":1,"key3":3}
print(sorted(my_list))
print(sorted(my_tuple))
print(sorted(my_str))
print(sorted(my_set))
print(sorted(my_dict))
# [1, 2, 3, 4, 5, 6]
# [1, 2, 3, 4, 5, 6]
# ['1', '2', '3', '4', '5', '6']
# [1, 2, 3, 4, 5, 6]
# ['key1', 'key2', 'key3', 'key4', 'key5', 'key6']
3. 字符串大小比较
从头到尾一位一位进行比较,其中一位大,后面就无需比较
通过ASCⅡ码表,确定字符对应的码值数字来确定大小
print('abc' > 'abd')
# False
print('a' > 'ab')
# False
print('a' > 'A')
# True
(日常美图时间)