- 6.1 一个简单的字典
- 6.2 使用字典
- 6.2.1 访问字典中的值
- 6.2.2 添加键值对
- 6.2.3 先创建一个空字典
- 6.2.4 修改字典中的值
- 6.2.5 删除键值对
- 6.2.6 由类似对象组成的字典
- 6.2.7 使用 get() 来访问值
- 6.3 遍历字典
- 6.3.1 遍历所有键值对
- 6.3.2 遍历字典中的所有键
- 6.3.3 按特定顺序遍历字典中的所有键
- 6.3.4 遍历字典中的所有值
- 6.4 嵌套
- 6.4.1 字典列表
- 6.4.2 在字典中存储列表
- 6.4.3 在字典中存储字典
- 6.1 一个简单的字典
示例:
1 alien_0 = {'color':'green','points':5} 2 print(alien_0['color']) 3 print(alien_0['points'])
运行结果:
- 6.2 使用字典
在 Python 中,字典是一系列键值对,每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。
在 Python 中,字典用放在花括号 { } 中的一系列键值对表示。
键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中,想存储多少个键值对都可以。
- 6.2.1 访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键。
示例:
1 alien_0 = {'color':'green','points':5} 2 print(alien_0['color'])
运行结果:
- 6.2.2 添加键值对
字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。
示例:
1 alien_0 = {'color':'green','points':5} 2 print(alien_0) 3 4 alien_0['x_position'] = 0 5 alien_0['y_position'] = 25 6 print(alien_0)
运行结果:
- 6.2.3 先创建一个空字典
可使用一对空花括号定义一个字典。
示例:
1 alien_0 = {} 2 print(alien_0) 3 4 alien_0['color'] = 'green' 5 alien_0['points'] = 5 6 print(alien_0)
运行结果:
- 6.2.4 修改字典中的值
要修改字典中的值,可依次指定字典名,用方括号括起的键,以及与该键相关联的新值。
示例:
1 alien_0 = {'color':'green'} 2 print(f"The alien is {alien_0['color']}.") 3 4 alien_0['color'] = 'yellow' 5 print(f"The alien is now {alien_0['color']}.")
运行结果:
- 6.2.5 删除键值对
可使用 del 语句将相应的键值对彻底删除。使用 del 语句时,必须指定字典名和要删除的键。
删除的键值对会永远消失。
示例:
1 alien_0 = {'color':'green','points':5} 2 print(alien_0) 3 4 del alien_0['points'] 5 print(alien_0)
运行结果:
- 6.2.6 由类似对象组成的字典
确定需要使用多行来定义字典时,要在输入左花括号后按回车键。在下一行缩进四个空格,指定第一个键值对,并在它后面加上一个逗号。
一种不错的做法是,在最后一个键值对后面也加上逗号,为以后在下一行添加键值对做好准备。
示例:
1 favorite_languages = { 2 'jen':'python', 3 'sarah':'c', 4 'edward':'ruby', 5 'phil':'python', 6 } 7 8 language = favorite_languages['sarah'].title() 9 print(f"Sarah's favorite language is {language}.")
运行结果:
- 6.2.7 使用 get() 来访问值
使用放在方括号内的键从字典中获取感兴趣的值时,可能会引发问题:如果指定的键不存在就会出错。
可使用方法 get() 在指定的键不存在时返回一个默认值,从而避免这样的错误。
方法 get() 的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的。
如果字典中有要查询的键,将获得与之相关联的值;如果没有,将获得指定的默认值。
调用 get() 时,如果没有指定第二个参数且指定的键不存在,Python 将返回值 None。
示例:
1 alien_0 = {'color':'green','speed':'slow'} 2 3 point_value = alien_0.get('points','No point value assigned.') 4 print(point_value)
运行结果:
- 6.3.1 遍历所有键值对
方法 items() 返回一个键值对列表。
示例:
1 user_0 = { 2 'username':'efermi', 3 'first':'enrico', 4 'last':'fermi', 5 } 6 7 for k,v in user_0.items(): # k和v 两个变量 8 print(f"\nKey:{k}") 9 print(f"Value:{v}")
运行结果:
- 6.3.2 遍历字典中的所有键
在不需要使用字典中的值时,方法 keys() 很有用。
示例:
1 favorite_languages = { 2 'jen':'python', 3 'sarah':'c', 4 'edward':'ruby', 5 'phil':'python', 6 } 7 8 for name in favorite_languages.keys(): 9 print(name.title())
运行结果:
遍历字典时,会默认遍历所有的键。因此,如果将上述代码中的:
1 for name in favorite_languages.keys():
替换为:
1 for name in favorite_languages:
输出将不变。
- 6.3.3 按特定顺序遍历字典中的所有键
方法 keys() 实际上返回一个列表,其中包含字典中的所有键。
可使用函数 sorted() 来获得按特定顺序排列的键列表的副本。
示例:
1 favorite_languages = { 2 'jen':'python', 3 'sarah':'c', 4 'edward':'ruby', 5 'phil':'python', 6 } 7 8 for name in sorted(favorite_languages.keys()): 9 print(name.title())
运行结果:
- 6.3.4 遍历字典中的所有值
可使用方法 values() 来返回一个值列表,不包含任何键。
1 favorite_languages = { 2 'jen':'python', 3 'sarah':'c', 4 'edward':'ruby', 5 'phil':'python', 6 } 7 8 print("The following languages have been mentioned:") 9 for language in favorite_languages.values(): 10 print(language.title())
运行结果:
为剔除重复项,可使用集合 set。集合中的每个元素都是独一无二的。
1 favorite_languages = { 2 'jen':'python', 3 'sarah':'c', 4 'edward':'ruby', 5 'phil':'python', 6 } 7 8 print("The following languages have been mentioned:") 9 for language in set(favorite_languages.values()): 10 print(language.title())
运行结果:
可使用花括号直接创建集合,并在其中用逗号分隔元素:
1 languages = {'python','ruby','python','c'} 2 print(languages)
运行结果:
集合和字典很容易混淆,因为它们都是用一对花括号定义的。当花括号内没有键值对时,定义的很可能是集合。不同于列表和字典,集合不会以特定的顺序存储元素。
- 6.4.1 字典列表
1 alien_0 = {'color':'green','points':5} 2 alien_1 = {'color':'yellow','points':10} 3 alien_2 = {'color':'red','points':15} 4 5 aliens = [alien_0,alien_1,alien_2] 6 7 for alien in aliens: 8 print(alien)
运行结果:
- 6.4.2 在字典中存储列表
1 pizza = { 2 'crust':'thick', 3 'toppings':['mushrooms','extra cheese'], 4 } 5 6 print(f"You ordered a {pizza['crust']}-crust pizza with the following toppings:") 7 for topping in pizza['toppings']: 8 print("\t" + topping)
res:
- 6.4.3 在字典中存储字典
1 users = { 2 'aeinstein':{ 3 'first':'albert', 4 'last':'einstein', 5 'location':'princeton', 6 }, 7 8 'mcurie':{ 9 'first':'marie', 10 'last':'curie', 11 'location':'paris', 12 }, 13 } 14 15 for username,user_info in users.items(): 16 print(f"Username:{username}") 17 full_name = f"{user_info['first']} {user_info['last']}" 18 location = user_info['location'] 19 20 print(f"\tFull name:{full_name.title()}") 21 print(f"\tLocation:{location.title()}")
res:
(〃>_<;〃)(〃>_<;〃)(〃>_<;〃)
标签:languages,alien,键值,6.2,print,字典 From: https://www.cnblogs.com/wjjgame/p/17459068.html