| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python字典 -> 正文阅读 |
|
[Python知识库]Python字典 |
6.1一个简单的字典 alien_0 = {"color": "green", "point": 5} print(alien_0["color"]) print(alien_0["point"]) 6.2使用字典 字典是一系列键值对,每个键斗鱼一个值相关联,我们可以使用键来访问相关联的值。与键相关联的值可以使数,字符串,列表乃至字典。 在python中,字典用放在花括号{}中的一系列键值对表示: alien_0 = {"color": "green", "point": 5}? ?#color是一个键,其后面对应数值 6.3访问字典中的值 alien_0 = {"color": "green", "point": 5} print(alien_0["color"]) 6.2.2添加键值对 字典是一种动态结构,可随时在其中添加键值对 alien_0 = {"color": "green", "point": 5} print(alien_0["color"]) print(alien_0["point"]) alien_0["x_position"] = 0????????#设置外星人初始的x与y坐标 alien_0["y_position"] = 25 print(alien_0) 这个字典的最终结果新增了两个键值对 {'color': 'green', 'point': 5, 'x_position': 0, 'y_position': 25} 6.2.3先创建一个空字典 alien_1 = {} alien_1["color"] = "green" alien_1["points"] = 5 print(alien_1) 6.2.4修改字典中的值 要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值 alien_1["color"] = "yellow" print(alien_1["color"]) #对以不同速度移动的外星人进行跟踪 alien_2 = {"x_position": 0, "y_position": 25, "speed": "medium"} print(f"Original x_position:{alien_2['x_position']}") # 向右移动外星人 # 根据当前速度确定将外星人向右移动多远 if alien_2["speed"] == "slow": x_increment = 1 elif alien_2["speed"] == "medium": x_increment = 2 else: x_increment = 3 alien_2["x_position"] = alien_2["x_position"] + x_increment print(alien_2["x_position"]) 6.2.5删除键值对 对于字典中不需要的信息,可使用del语句将相应的键值对彻底删除、使用del语句时,必须指定字典名和要删除的键。 alien_0 = {"color": "green", "points": 5} print(alien_0) del alien_0["points"] print(alien_0)????????????????#删除的键值对会永远消失 6.2.6由类似对象组成的字典 也可以使用字典来存储众多对象的同一种信息,例如存储每个人最喜欢的编程语言 favorite_language ={ "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python" } #对于较长的字典,可通过这种方式进行格式设置 给定被调查者的名字,可使用这个字典轻松地获取她喜欢的语言: language = favorite_language['sarah'].title() print(language) 5.2.7使用get来访问值 如果指定的键不在字典内,那程序可能就会出错 可使用方法get()在指定的键不存在时返回一个默认值,从而避免这样的错误。 get() 该方法第一个参数用于指定键,第二个参数为指定的键不存在时要返回的值,是可选的 point_value = alien_0.get("point", "No point value assigned") print(point_value) #如果get()没有指定第二个参数,则会返回值None 6.3遍历字典 6.3.1遍历所有键值对 user_0 = { "username": "efermi", "first": "enrico", "last": "fermi", } for key,value in user_0.items(): #提取键值 print(f"\nKey: {key}") print(f"Value:{value}") 6.3.2遍历字典中的所有键 user_0 = { ????????"username": "efermi", ????????"first": "enrico", ????????"last": "fermi", } for key in user_0.keys(): #提取键 print(f"\nKey: {key}") for key in user_0.keys(): #提取键 print(f"\nKey: {key}") favorite_language ={ "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python", } friend = ["phil", "sarah"] for name in favorite_language.keys(): print(f"Hi,{name.title()}") if name in friend: language = favorite_language[name].title() print(f"{name.title()},I see you love {language}") 6.3.3按特定顺序遍历字典中的所有键 #使用sorted()方法对键值在遍历之前进行排序,排序是按顺序显示了所有被调查者的名字 favorite_language ={ "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python", } for name in sorted(favorite_language.keys()): print(f"{name.title()},thank you for taking the poll") 6.3.4遍历字典中的所有值 #使用.value()方法获取值结果 favorite_language ={ "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python", } for name in favorite_language.values(): print(name.title()) 按照上述做法可以提取字典中的值,但没有考虑数据重复的问题,当数据量比较庞大时,我们可以使用集合(set)来剔除重复项。集合set中的每个元素都是独一无二的 favorite_language ={ "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python", } for language in set(favorite_language.values()): print(language.title()) 练习6-5 rivers = { "Yellow River": "China", "Xuanwu_lake": "nanjing", "nile": "egypt", } for name, value in rivers.items(): print(f"The {name} runs through {value}\n") for name in rivers.keys(): print(name) for value in rivers.values(): print(value) 练习6-6 favorite_language = { "jen": "python", "sarah": "c", "edward": "ruby", "phil": "python", } visit = ["jen", "edward"] for number in favorite_language.keys(): if number in visit: print("Thanks") else: print("I invite you to accept our survey") 6.4嵌套 有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。 6.4.1字典列表 将一堆外星人字典放入列表中存储 alien_0 = {"color": "green", "points": 5} alien_1 = {"color": "yellow", "points": 10} alien_2 = {"color": "red", "points":15} aliens = [alien_0, alien_1, alien_2] for alien in aliens: print(alien) 示例:使用range()生成30个外星人 # 创建一个用于存储外星人的空列表 aliens = [] # 创建30个绿色的外星人 for alien_number in range(30): new_alien = {"color": "green", "points": "slow"} aliens.append(new_alien) # 显示前五个外星人 for alien in aliens[:5]: print(alien) print("...") # 显示创建了多少外星人 print(len(aliens)) # 要将前三个外星人修改为黄色、速度为中等且值为10分 for alien in aliens[:3]: if alien["color"] == "green": alien["color"] = "yellow" alien["speed"] = "medium" alien["points"] = 10 elif alien["color"] == "yellow": alien["color"] = "red" alien["speed"] = "fast" alien["points"] = "15" 6.4.2在字典中存储列表 在下面的示例中,存储了pizza的两方面信息:外皮类型以及配料列表。其中,配料列表是一个与键“toppings”相关联的值。 # 存储所点的pizza信息 pizza = { "crust": "thick", "toppings": ["mushrooms", "extra cheese"], } # 概述所点的pizza print(f"You ordered a {pizza['crust']}-crust pizza" " with the following toppings: ") for topping in pizza["toppings"]: print("\t"+topping) 对于之前说的用户喜欢的开发语言,现在每个被调查者所关联的可以不止是一种语言,而可能是一组语言。 favorite_language = { "jen": ["python", "ruby"], "sarah": ["c"], "edward": ["ruby", "go"], "phil": ["python", "haskell"], } for name, languages in favorite_language.items(): print(f"{name.title()}'s favorite lauguages are:") for language in languages: print(language.title()) 6.4.3在字典中存储字典 例如,每个网站用户都有一个独特的用户名,可在字典中将用户名作为键,将每个用户的信息作为字典并分别与键关联。 users ={ "aeinstein":{ "first": "albert", "last": "einstein", "location": "princeton", }, "mcurie":{ "first": "marie", "last": "curie", "location": "paris", }, } for user_name, info in users.items(): print(f"User_name: {user_name}") full_name = f"{info['first']} {info['last']}" loc = info["location"] print(full_name) print(loc) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:48:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |