python基础-字典dict {key:value }
字典的定义和操作
字典的特性:
元素数量 | 支持多个 |
元素类型 |
key :value key:除字典外的任何类型 Value:任何类型 |
下标索引 | 不支持 |
重复元素 | key不支持 |
可修改性 | 支持 |
数据有序 | 否 |
使用场景 | 以key检索value的数据类型 |
# 定义字典
my_dict1 = {"王力宏":99,"周杰伦":88,"林俊杰":77}
# 定义空字典
my_dict2 = {}
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型:{type(my_dict3)}")
# 定义重复key的字典(没用)
my_dict1 = {"王力宏":99,"王力宏":99,"林俊杰":77}
print(f"重复key的字典的内容是:{my_dict1}")
# 从字典中基于key获取value
my_dict1 = {"王力宏":99,"周杰伦":88,"林俊杰":77}
score = my_dict1["王力宏"]
print(f"王力宏的考试分数是:{score}")
# 定义嵌套字典
stu_score_dict = {
"王力宏":{
"语文":77,
"数学":66,
"英语":33
},"周杰伦":{
"语文": 12,
"数学": 34,
"英语": 66
},"林俊杰":{
"语文": 41,
"数学": 78,
"英语": 99
}
}
print(stu_score_dict)
# 从嵌套字典中获取数据
score = stu_score_dict["周杰伦"]["语文"]
print(f"周杰伦的语文成绩为:{score}")
my_dict = {"王力宏": 99, "周杰伦": 88, "林俊杰": 77}
# 新增元素
my_dict["陶喆"] = 100
print(f"字典经过新增元素后,结果:{my_dict}")
# 更新元素
my_dict["王力宏"] = 1
print(f"字典经过更新后:{my_dict}")
# 删除元素
socre = my_dict.pop("周杰伦")
print(f"字典删除元素后:{my_dict},删除的value:{socre}")
# 清空元素,clear
my_dict.clear()
print(f"字典被清空了,内容是:{my_dict.clear()}")
# 获取全部的key
my_dict = {"王力宏": 99, "周杰伦": 88, "林俊杰": 77}
keys = my_dict.keys()
print(f"字典的全部keys是:{keys},类型是:{type(keys)}")
# 遍历字典
# 方式一:通过获取到全部的key来完成遍历
for key in keys:
print(f"字典的key是:{key}")
print(f"字典的value是:{my_dict[key]}")
# 方式二:直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
print(f"字典2的key是:{key}")
print(f"字典2的value是:{my_dict[key]}")
# 统计字典内的元素数量,len()函数
num = len(my_dict)
print(f"字典中的元素数量有:{num}个")
# 字典推导式 {key:value for 循环 if}
lit = ["hi",'qwe','asd']
d = {i:lit[i] for i in lit}
print(d)