Python基础知识点-- 字典


       此文章为Python基础知识点(从入门到实践)--  字典,此节Python基础知识点主要包括:字典、使用字典(创建、访问、修改、删除)、遍历字典、嵌套。


目录

1.1 字典

1.2 访问字典中的值

 1.3 添加键值对

 1.4 修改字典中的值

 1.5 删除键值对

 1.6 由类似对象组成的字典

 1.7 使用 get()来访问值

二、遍历字典

2.1 遍历所有键值对

 2.2 遍历字典中的所有键

2.3 按特定顺序遍历字典中的所有键

 2.4 遍历字典中 的所有值

 三、嵌套

3.1 在列表中存储字典

 3.2 在字典中存储列表

 3.3 在字典中存储字典


一、字典

1.1 字典

       在python中,字典是一系列键值对。每个值都与一个值相关联,可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典,可将任何python对象用作字典中的值。

      在python中,字典用放在花括号({})中的一系列键值表示。例子如下:

dog_0 = {'color' : 'black' , 'age' : 4}

        键值对是两个相关联的值。指定键时,python将返回与之相关联的值。键和值之间用冒号分隔,而键值之间用逗号分隔。在字典中,想存储多少个键值对都可以。最简单的字典只有一个键值对。

1.2 访问字典中的值

        要获取与键相关联的值,可依次指定字典名和放在方括号内的键。例子如下:

dogs_0 = {'color': 'black' , 'age' : 4}
print(dogs_0['color'])

输出结果如下:将返回字典dogs_0中与键“color”相关联的值。

 1.3 添加键值对

       字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依此指定字典名、用方括号括起的键和相关联的值。例子如下:

dog_0 = {'color': 'black' , 'age' : 4}
print(dog_0)
dog_0['name'] = 'lili'
dog_0['weight'] = 16
print(dog_0)

输出结果如下:

 1.4 修改字典中的值

       要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值。例子如下:

dog_0 = {'color': 'black' , 'age' : 4}
print(dog_0)
dog_0['color'] = 'white'
print(dog_0)

输出结果如下:

 1.5 删除键值对

       可使用 del 语句将相应的键值对彻底删除,必须指定字典名和要删除的键。例子如下:

dog_0 = {'color': 'black' , 'age' : 4}
print(dog_0)
del dog_0['age']
print(dog_0)

输出结果如下:

 1.6 由类似对象组成的字典

        在前面示例中,字典储存的是一个对象的多种信息,但字典也可以来存储众多对象的同一种信息。例子如下:

dog_color = {
    'lili': 'black' ,
    'haha' : 'white',
    'uu' : 'zizi' ,
    }
color = dog_color['haha']
print(f'Haha is {color}.')

输出结果如下:

 1.7 使用 get()来访问值

       使用放在方括号内的键从字典中获取感兴趣的值时,可能会引发错误:如果指定的键不存在就会出错。就字典而言可使用方法get()在指定的键不存在时返回一个默认值,避免错误。

       方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的。例子如下:

dog_0 = {'color': 'black' , 'age' : 4}
weight = dog_0.get('weight','No weight value assigned.')
print(weight)

输出结果如下:

      如果指定的键可能不存在,应考虑使用方法get(),而不是使用方括号表示法。

二、遍历字典

2.1 遍历所有键值对

       可使用for循环来遍历字典,可声明两个变量,用于存储键值对中的键和值,两个变量可以是任意名称。for 语句第二部分包含字典名和方法 items(),他返回一个键值对列表。例子如下:

dog_0 = {'color': 'black' ,
         'age' : 4,
         'weight' : 16,
         }
for k,v in dog_0.items():
    print(f'\nK:{k}')
    print(f'v:{v}')

输出结果如下:

 2.2 遍历字典中的所有键

       遍历字典中所有键,使用方法keys()例子如下:

dog_0 = {'color': 'black' ,
         'age' : 4,
         'weight' : 16,
         }
for information in dog_0.keys():
    print(information)

输出结果如下:

2.3 按特定顺序遍历字典中的所有键

       要以特定顺序返回元素,一种办法是在for循环中对返回的值进行排序。下面例子使用函数sort()来获取按特定顺序排列的键列表的副本。例子如下:

dog_0 = {'color': 'black' ,
         'age' : 4,
         'weight' : 16,
         }
for information in sorted(dog_0.keys()):
    print(information.title())

输出结果如下:

 2.4 遍历字典中 的所有值

       可使用方法values()来返回一个值列表,不包含任何键。例子如下:

dog_0 = {'color': 'black' ,
         'age' : 4,
         'weight' : 16,
         }
for information in dog_0.values():
    print(information)

输出结果如下:

 三、嵌套

        嵌套:将一系列字典存储在列表中,或将列表作为值存储在字典中。

3.1 在列表中存储字典

      可将字典存储在列表中。例子如下:

dogs_0 = {'color':'green','age':4}
dogs_1 = {'color':'black','age':3}
dogs_2 = {'color':'white','age':2}

dogs = [dogs_0,dogs_1,dogs_2]
for dog in dogs:
    print(dog)

输出结果如下:

 3.2 在字典中存储列表

    每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。例子如下:

pets = {
    'dogs':['jinmao','xueqiao'],
    'ducks':['yazi'],
    'cats':['yingduan','meiduan'],
    }

for name,pet in pets.items():
    print(f'\n{name.title()} are:')
    for pet in pets:
        print(f"\t{pet.title()}")

输出结果如下:

 3.3 在字典中存储字典

     可在字典中嵌套字典,但这样做时,代码就变得复杂起来。

     例子如下(将狗狗名作为键,然后将每只狗狗信息存储在一个字典中,并将这些字典作为与用户名相关联的值):

dogs = {
    'jinmao':{
        'color': 'black',
        'age' : 5,
        },
    'bandian':{
        'color': 'white',
        'age' : 9
        }
    }

for dog_information,dog in dogs.items():
    print(f'\nDog_information:{dog_information}')
    color = {dog['color']}
    age = {dog['age']}

    print(f'\tColor:{color}')
    print(f'\tAge:{age}')

输出结果如下:


今天的学习总结就到这里啦!如果有什么问题可以在评论区留言呀~

如果帮助到大家,可以一键三连+关注支持下~

参考学习书籍:Python编程 从入门到实践 (第二版)


 系列文章目录

Python基础知识点-- 变量和简单数据类型

Python基础知识点-- 列表

Python基础知识点-- 遍历列表、切片、元组

Python基础知识点-- if 语句

Python基础知识点-- 字典 

猜你喜欢

转载自blog.csdn.net/m0_57787115/article/details/129344888