字典(dictionary)
字典(dictionary)
定义
为了高效地模拟现实世界中的情形
类似于C语言中的结构体
一个简单的例子
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])
理解:
①在python中,字典时一系列键值对,每个键都与一个值相关联
②与键关联的值可以是数字,字符串,甚至是字典,事实上,可将任何python的对象用作字典的值
③以上述代码为例,有两个键值对,字符串 ‘color’ 和 ‘points’ 是键,与之关联的值分别是 ‘green’ 和 ‘5’
访问,添加键值对
alien_0 = {'color': 'green', 'points': 5}
new_points = alien_0['points']
print("You just earned " + str(new_points) + " points!")
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
tips:
① 字典是一个动态结构,添加键值对的方法和输出的方法一样 : alien_0[‘x_position’] = 0
② python不关心键值对的添加顺序,只关心键值之间的对应关系,所以输出顺序和添加顺序不一样时不用担心
创建,修改,删除
# 创建字典
alien_0 = {}
alien_0['color'] = 'red'
alien_0['points'] = 5
print(alien_0)# 修改字典里的值
alien_0['color'] = 'white'
alien_color = alien_0['color']
print("Wow this alien's " + alien_color + " skin is so strange! ")# 删除键值对
del alien_0['points'] # 只要删除键,他对应的值也会相应的删除
print(alien_0)
由类似对象组成的字典
favourite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python'}
注意分行,增加代码可读性
遍历字典
favourite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python'}
# 遍历所有的键值对
for name, language in favourite_languages.items():print("\nName: " + name.title())print("Language: " + language)
# 遍历所有的键
print("")
for name in favourite_languages.keys():print("Name: " + name.title())
# 遍历所有的值
print()
for language in favourite_languages.values():print("Languages: " + language.title())
# 对重复的元素还可以调用set()
print()
for language in set(favourite_languages.values()):print("Languages: " + language.title())
嵌套
字典列表
# 创建一个用于存储外星人的空列表
aliens = []# 创建30个绿色的外星人
for alien_number in range(30): # for i in range(times)就是循环times次的意思new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}aliens.append(new_alien)
for alien in aliens[:5]:print(alien)
print("...")for alien in aliens[:3]:if alien['color'] == 'green':alien['color'] = 'yellow'alien['speed'] = 'medium'alien['points'] = 10
for alien in aliens[:5]:print(alien)
在字典中存储列表
favourite_languages = {'jen': ['C', 'C#'],'smith':['c'],'edward':['go', 'java']
}for name,languages in favourite_languages.items():print("Name: " + name.title())for language in languages:print(language.title(), end=" ")print(" ")```
在字典中存储字典
cities = {"shanghai": {"area": "east China", "population": 2400, "fact": "SH is the modu city of China"},"beijing": {"area": "north China", "population": 3200, "fact": "BJ is the capital city of China"},"shenzhen": {"area": "south China", "population": 2200, "fact": "SZ is the near Hong Kong"}
}for city, information in cities.items():print("Area: " + information['area'])print("Population: " + str(information['population']))print("Fact: " + information['fact'])print("***********************************************************")
字典中存储字典会使代码很快变得复杂,要细心阅读
总结
字典在python中的运用十分广泛,但要用好需要不断地结合练习。
字典(dictionary)相关推荐
- Python 字典(Dictionary) get()方法
Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...
- Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...
- python 字典代码_Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...
- TypeScript 使用 字典 Dictionary
TypeScript 没有直接的 Map 和 Dictionary 类型.不过我们可以使用索引类型模拟它们. // key 为 string,value 为 number; const dic: { ...
- C#字典Dictionary排序(顺序、倒序)
这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网 ...
- 带你学python基础:元祖tuple和字典dictionary
一.什么是元祖 如果你学过列表 List 的话,那么,你是否会觉得元祖和列表是不是特别的相似呢? 确实,是的.但是,他们之间也是有一些区别的. 而不同之处在于元祖的元素不能被修改,而列表的元素可以被修 ...
- python编程字典100例_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- python 复制dict_超全的Python 字典(Dictionary)介绍
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: 键一 ...
- python 字典定义日志用法_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- python dictionary_Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...
最新文章
- 使用Python制作酷炫的二维码
- 让iOS工程目录和文件夹保持一致的工具:synx介绍
- [No000035]操作系统Operating System之OS Interface操作系统接口
- 剑客决斗(NYOJ 110)
- LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)
- IO复用之select、poll、epoll模型
- 快速迭代式开发使用方法总结
- 用优盘装系统看不到计算机本身的硬盘,电脑u盘重装系统找不到硬盘的3大解决方法...
- python中的Numpy包
- 手牵手系列之TypeScript开发环境搭建
- 【侠客行】Lombok深度解析
- 模糊神经网络(三)模糊逻辑和神经网络的对比
- 如何解决在打开pip时遇到Fatal error in launcher: Unable to create process using 的问题
- 官方:“四个放宽”、“三个加强”安置退役军人
- linux centos7如何格式化磁盘,CentOS磁盘分区、格式化及挂载
- Java GUI面板的布局方式
- maven命令起工程(mvns pring-boot:run)如何进行debug调试
- 在其位,谋其职,行其权,负其责
- know everything about something
- 表格斜线 纯html实现画直线的方法
热门文章
- 到底是去大厂当大头兵?还是在小厂磨炼好?
- 【转】CentOS 6.0 图形(图解)安装教程、基本配置、网络配置、软件源配置、安装压缩、语言包...
- AI 击败了人类,设计了更好的经济机制
- Apache和PHP部署(Windows)
- 微信预约小程序怎么制作(在线预约小程序系统开发功能)
- 基于椭圆模块的肤色检测
- Ubuntu的美化和优化
- c语言循环链表约瑟夫问题的时间复杂度,用单向循环链表解决约瑟夫问题算法优劣性分析.doc...
- 蒸螃蟹,用冷水还是热水?区别很大
- 数据库-SQL语句练手