5.1 字典

  在 Python 中,字典是一系列键—值对。键不能重复,否则对应的值是后面一个。

5.1.1 键-值队的添加与修改

alien_0 = {'color': 'green', 'points': 5}
print(alien_0) alien_0['x_position'] = 0 # 添加
alien_0['points'] = 10 # 修改
print(alien_0)

5.1.2 键-值队的删除

   alien_0 = {'color': 'green', 'points': 5}
print(alien_0) del alien_0['points'] # 键-值对的删除
print(alien_0)

5.2 遍历字典

5.2.1 遍历字典的键和值

  可以使用一个 for 循环来遍历这个字典,可声明两个变量,用于存储键—值对中的键和值。for语句的第二部分包含字典名和方法 items(),它返回一个键—值对列表。

  注意,即便遍历字典时,键—值对的返回顺序也与存储顺序不同。Python不关心键—值对的存
储顺序,而只跟踪键和值之间的关联关系。

   user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items():
print("\nKey: " + key) # 键
print("Value: " + value) # 值

5.2.2 只遍历字典的键

  在不需要使用字典中的值时,方法 keys() 很有用。请注意,遍历字典时,会默认遍历所有的键,因此不使用 key() 而 for 循环依然是遍历字典的键

favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys(): # 使用key方法返回键
print(name.title()) # 遍历字典时,会默认遍历所有的键
for name in favorite_languages: # 使用key方法返回键
print(name.title())

5.2.3 按顺序遍历字典中所有的键

  要以特定的顺序返回元素,一种办法是在 for 循环中对返回的键进行排序。为此,可使用函
sorted() 来获得按特定顺序排列的键列表的副本。

   favorite_languages = {
'jen': 'python',
'Sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
# 从大写到小写,从a-z顺序排序
for name in sorted(favorite_languages.keys()):
print(name + ", thank you for taking the poll.")

5.2.4 遍历字典中所有的值

  要字典包含的值,可使用方法 values()。如下实例并没有考虑值的重复性,会打印重复值。

favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
print("The following languages have been mentioned:")
}
for language in favorite_languages.values(): # 遍历值
print(language.title()) # 可能会有重复的值

  要剔除值的重复项,可以调用集合 set。 集合类似于列表,但每个元素都必须是独一无二的。

   favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
print("The following languages have been mentioned:")
for language in set(favorite_languages.values()):
print(language.title())

5.3 嵌套

  需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套

5.3.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) # {'color': 'green', 'points': 5}
# {'color': 'yellow', 'points': 10}
# {'color': 'red', 'points': 15}

5.3.2 在字典中存储列表

   # 存储所点比萨的信息(字典)
pizza = {
'crust': 'thick', # 披萨类型
'toppings': ['mushrooms', 'extra cheese'], # 配备的酱料(列表)
}
# 概述所点的比萨
print("You ordered a " + pizza['crust'] + "-crust pizza " +
"with the following toppings:")
for topping in pizza['toppings']:
print("\t" + topping) # You ordered a thick - crust pizza with the following toppings:
# mushrooms
# extra cheese

5.3.2 在字典中存储字典

  例如,如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。

    键    值

  用户 -- 存储信息的字典

          键          值

        存储信息的字典   --  用户信息

   users = {
# 用户名
'aeinstein': {
# 用户信息
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
for username, user_info in users.items():
print("\nUsername: " + username)
full_name = user_info['first'] + " " + user_info['last']
location = user_info['location'] print("\tFull name: " + full_name.title())
print("\tLocation: " + location.title()) # Username: aeinstein
# Fullname: Albert
# Einstein
# Location: Princeton # Username: mcurie
# Fullname: Marie
# Curie
# Location: Paris

  

  

  

5.字典--《Python编程:从入门到实践》的更多相关文章

  1. Python编程从入门到实践笔记——字典

    Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...

  2. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  3. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  4. 《Python编程从入门到实践》_第十章_文件和异常

    读取整个文件 文件pi_digits.txt #文件pi_digits.txt 3.1415926535 8979323846 2643383279 下面的程序打开并读取整个文件,再将其内容显示到屏幕 ...

  5. Python编程从入门到实践

    Python编程从入门到实践1 起步2 变量和简单数据类型3 列表简介4 操作列表5 if语句6 字典7 用户输入和while循环8 函数9 类10 文件和异常11 测试代码12 武装飞船13 外星人 ...

  6. 《Python编程:从入门到实践》分享下载

    书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...

  7. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  8. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  9. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  10. Python编程从入门到实践笔记——类

    Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...

随机推荐

  1. localstorage、sessionstorage 存储布尔值要注意

    今天实现一个功能,点击首页,头部按钮,切换大屏功能.不同的屏,页头宽度不一样,小屏1280px,  大屏百分百屏幕,左右留点120px的padding值. 思路:点击按钮,切换不同的子路由,顶部通过一 ...

  2. java垮平台的原理-垃圾回收-day1

    目录 1. 跨平台原理 2. 垃圾回收 3. DOS的几个基本命令 4. PATH环境变量的作用 5 java的安装 6. 第一个java程序 6. 另外两个环境变量CLASS_PATH 与JAVA_ ...

  3. 每天学五分钟 Liunx 010 | ssh

    Liunx ssh known_hosts   known_hosts是做服务器认证的.当用 ssh 连接到一个新的服务器的时候,ssh 会让你确认服务器的信息(域名.IP.公钥),如果你确认了,就会 ...

  4. Verdi基础-01

    Verdi使用目标 生成fsdb波形 查看fsdb波形 追踪RTL代码 目录 Verdi历史 生成fsdb波形 三个变量&&三个命令 变量PATH LD_LIBRARY_PATH so ...

  5. 【收集】C & C++

    序 链接 备注 1 C语言0长度数组(可变数组/柔性数组)详解_CHENG Jian的博客-CSDN博客_0数组   2 C 语言参考 | Microsoft Learn   3 C++ 语言参考 | ...

  6. Linux-远程连接-ssh

  7. 海思Hi35xx 实现本地和远程升级程序的方法

    前言 嵌入式linux设备要进行软件升级有很种多方式方法,总的来说可以分为本地升级和远程升级. 本地升级包括升级工具升级,存储介质升级等,远程升级是指通过网络进行程序升级. 这里介绍一种同时至此本地和 ...

  8. [转帖]KingbaseES和Oracle数据类型的映射表

    随着数据库国产化的进程,Oracle向KingbaseES数据库的数据迁移需求也越来越多.数据库之间数据迁移的时候,首先遇到的,并且也是最重要的,就是数据类型之间的转换. 下表为KingbaseES和 ...

  9. [转帖]Linux磁盘I/O(二):使用vm.dirty_ratio和vm.dirty_background_ratio优化磁盘性能

    文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据).写缓存比较复杂,Linux内核将磁盘写入缓存,过段时间再异步将它们刷新到磁盘.这对加 ...

  10. [百度贴吧]部分CPU的SPEC2006int 结果

    这些测试成绩基本上是本人自己测试的结果.下表中有来自spec官网的两个成绩,因为测试年份较早,系统环境和编译器都较老,测试成绩本人实测的还差,所以仅作为参考.部分测试启用了自动并行和附加的优化库,是为 ...