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)

 

posted @ 2023-02-25 22:40  0x1e61  阅读(61)  评论(0编辑  收藏  举报