字典(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)相关推荐

  1. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  2. Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  3. python 字典代码_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...

  4. TypeScript 使用 字典 Dictionary

    TypeScript 没有直接的 Map 和 Dictionary 类型.不过我们可以使用索引类型模拟它们. // key 为 string,value 为 number; const dic: { ...

  5. C#字典Dictionary排序(顺序、倒序)

    这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网 ...

  6. 带你学python基础:元祖tuple和字典dictionary

    一.什么是元祖 如果你学过列表 List 的话,那么,你是否会觉得元祖和列表是不是特别的相似呢? 确实,是的.但是,他们之间也是有一些区别的. 而不同之处在于元祖的元素不能被修改,而列表的元素可以被修 ...

  7. python编程字典100例_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  8. python 复制dict_超全的Python 字典(Dictionary)介绍

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: 键一 ...

  9. python 字典定义日志用法_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  10. python dictionary_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

最新文章

  1. 使用Python制作酷炫的二维码
  2. 让iOS工程目录和文件夹保持一致的工具:synx介绍
  3. [No000035]操作系统Operating System之OS Interface操作系统接口
  4. 剑客决斗(NYOJ 110)
  5. LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)
  6. IO复用之select、poll、epoll模型
  7. 快速迭代式开发使用方法总结
  8. 用优盘装系统看不到计算机本身的硬盘,电脑u盘重装系统找不到硬盘的3大解决方法...
  9. python中的Numpy包
  10. 手牵手系列之TypeScript开发环境搭建
  11. 【侠客行】Lombok深度解析
  12. 模糊神经网络(三)模糊逻辑和神经网络的对比
  13. 如何解决在打开pip时遇到Fatal error in launcher: Unable to create process using 的问题
  14. 官方:“四个放宽”、“三个加强”安置退役军人
  15. linux centos7如何格式化磁盘,CentOS磁盘分区、格式化及挂载
  16. Java GUI面板的布局方式
  17. maven命令起工程(mvns pring-boot:run)如何进行debug调试
  18. 在其位,谋其职,行其权,负其责
  19. know everything about something
  20. 表格斜线 纯html实现画直线的方法

热门文章

  1. 到底是去大厂当大头兵?还是在小厂磨炼好?
  2. 【转】CentOS 6.0 图形(图解)安装教程、基本配置、网络配置、软件源配置、安装压缩、语言包...
  3. AI 击败了人类,设计了更好的经济机制
  4. Apache和PHP部署(Windows)
  5. 微信预约小程序怎么制作(在线预约小程序系统开发功能)
  6. 基于椭圆模块的肤色检测
  7. Ubuntu的美化和优化
  8. c语言循环链表约瑟夫问题的时间复杂度,用单向循环链表解决约瑟夫问题算法优劣性分析.doc...
  9. 蒸螃蟹,用冷水还是热水?区别很大
  10. 数据库-SQL语句练手