小节6:Python字典dict

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)

输出:

小节6:Python字典dict_第1张图片

2)对字典的值value进行迭代:

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

for v in contact_dict.values():
    print(v)

小节6:Python字典dict_第2张图片

3)对字典的item()进行迭代(即:key和value一起迭代)

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

for k, v in contact_dict.items():
    print(k)
    print(v)

小节6:Python字典dict_第3张图片

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()方法都有它们各自的数据类型,它们既不是列表,也不是元组。

你可能感兴趣的:(Python,python)