1、字典的键必须时不可变数据类型,所以列表list不能作为键key,那怎么办呢?Python为我们准备了一个很像列表,却又不可变的数据类型——元组tuple,通常用元组tuple来作为键。比如:
contact_dict = {("张伟", 23): "13309809067",
("张伟", 24): "13309809067",
("张伟", 26): "13309809067"}
print(contact_dict)
2、字典的key是用来查找值的,通常用dict_name["key"]来查找对key应的值
3、字典中,不能有同样的键,否则只能打印最后的那个,比如:
dict1 = {"张伟": 23, "张伟": 24, "张伟": 21}
print(dict1)
输出:
更新值也是一样,如果那个键在字典中已经存在,那么我们存入的内容就会覆盖掉之前的键值对。
4、如果想知道某个键是否已存在于字典中,键 in 字典 会返回一个bool值,存在返回True,不存在返回False
5、要删除一个键值对,可以用 del 字典[key],如果字典中,这个键本身就不存在,则会报错。
6、通过len()函数,可以知道字典中有多少键值对
7、通过for循环迭代字典的三种形式:
1)对字典的键key进行迭代:
contact_dict = {("张伟", 23): "13309809067",
("张伟", 24): "13309809067",
("张伟", 26): "13309809067"}
for k in contact_dict.keys():
print(k)
输出:
2)对字典的值value进行迭代:
contact_dict = {("张伟", 23): "13309809067",
("张伟", 24): "13309809067",
("张伟", 26): "13309809067"}
for v in contact_dict.values():
print(v)
3)对字典的item()进行迭代(即:key和value一起迭代)
contact_dict = {("张伟", 23): "13309809067",
("张伟", 24): "13309809067",
("张伟", 26): "13309809067"}
for k, v in contact_dict.items():
print(k)
print(v)
8、字典中的dict.keys(),dict.values()和dict.items()都是什么类型的数据?
contact_dict = {("张伟", 23): "13309809067",
("张伟", 24): "13309809067",
("张伟", 26): "13309809067"}
ks_type = type(contact_dict.keys())
print(f"字典.keys()类型是{ks_type}")
vs_type = type(contact_dict.values())
print(f"字典.values()类型是{vs_type}")
itms_type = type(contact_dict.items())
print(f"字典.values()类型是{itms_type}")
输出:
由此可见,字典中,keys(),values(),items()方法都有它们各自的数据类型,它们既不是列表,也不是元组。