coding:utf-8!

第6章 字典

一个简单的字典

alien_0 = {‘color’: ‘green’, ‘points’: 5}
print(alien_0[‘color’])
print(alien_0[‘points’])

访问字典中的值

alien_0 = {‘color’: ‘green’}
print("\n" + alien_0[‘color’])

alien_0 = {‘color’: ‘green’, ‘points’: 5}
new_points = alien_0[‘points’]
print("\nYou just earned " + str(alien_0[‘points’]) + " points!")
print(“You just earned " + str(new_points) + " points!”)

添加键-值对

alien_0 = {‘color’: ‘green’, ‘points’: 5}
print("\n")
print(alien_0)
alien_0[‘x_position’] = 0
alien_0[‘y_position’] = 25
print(alien_0)

先创建一个空字典

alien_0 = {}
alien_0[‘color’] = ‘green’
alien_0[‘points’] = 5
print("\n")
print(alien_0)

修改字典中的值

alien_0 = {‘color’: ‘green’}
print("\nThe alien color is " + alien_0[‘color’] + “.”)
alien_0[‘color’] = ‘yellow’
print("The alien color is now " + alien_0[‘color’] + “.”)

对以不同速度移动的外星人位置进行跟踪

alien_0 = {‘x_position’: 0, ‘y_position’: 25, ‘speed’: ‘medium’}
print("\nOriginal x-position: " + str(alien_0[‘x_position’]))

向右移动外星人

据外星人当前速度决定将其移动多远

if alien_0[‘speed’] == ‘slow’:
x_increment = 1
elif alien_0[‘speed’] == ‘medium’:
x_increment = 2
else:
# 这个外星人的速度一定很快
x_increment = 3

新位置等于老位置加上增量

alien_0[‘x_position’] = alien_0[‘x_position’] + x_increment
print("New x-position: " + str(alien_0[‘x_position’]))

将外星人速度进行修改后重新计算

alien_0[‘speed’] = ‘fast’
alien_0[‘x_position’] = alien_0[‘x_position’] + x_increment
print("New x-position: " + str(alien_0[‘x_position’]))

删除键-值对

alien_0 = {‘color’: ‘green’, ‘points’: 5}
print("\n")
print(alien_0)
del alien_0[‘points’]
print(alien_0)

由类似对象组成的字典

问卷调查

favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}

在最后一个键-值对后面也加上逗号,为以后再下一行添加键-值对做好准备

print("\n")
print(favorite_languages)
print("Sarah’s favorite language is " +
favorite_languages[‘sarah’].title() +
“.”)

遍历所有的键-值对

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

print("\n")
favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language.title() + “.”)

遍历字典中的所有键

favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}
print("\n")
for name in favorite_languages.keys():
print(name.title())

注意keys()后面的s

当名字为指定朋友名字时打印一条消息

favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}
friends = [‘phil’, ‘sarah’]
for name in favorite_languages.keys():
print(name.title())
if name in friends:
print(" Hi " + name.title() +
", I see your favorite language is " +
favorite_languages[name].title() + “!”)

使用keys()确定某个人是否接受了调查

favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}
if ‘erin’ not in favorite_languages.keys():
print("\nErin, please take our poll!")

用sorted()按顺序遍历字典中的所有键

print("\n")
favorite_languages = {
‘jen’: ‘python’,
‘sarah’: ‘c’,
‘edward’: ‘ruby’,
‘phil’: ‘python’,
}
for name in sorted(favorite_languages.keys()):
print(name.title() + “, thank you for taking the poll.”)

遍历字典中的所有的值

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

用set()剔除重复项

print("\n")
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())

嵌套

字典列表

print("\n")
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)

print("\n")

用range()生成30个一样的外星人

aliens = []

创建30个绿色的外星人

for alien_number in range(30):
new_alien = {‘color’: ‘green’, ‘points’: 5, ‘speed’: ‘slow’}
aliens.append(new_alien)

显示前5个外星人

for alien in aliens[:5]:
print(alien)
print("…")

显示创建了多少个外星人

print("Total number of aliens: " + str(len(aliens)))

print("\n")

处理成群结队的外星人

有的外星人会变色且移动速度加快

创建一个用于储存外星人的空列表

aliens = []

创建30个绿色的外星人

for alien_number in range(0,30): # 注意range(a,b)的用法
new_alien = {‘color’: ‘green’, ‘points’: 5, ‘speed’: ‘slow’}
aliens.append(new_alien)
for alien in aliens[0:3]:
if alien[‘color’] == ‘green’:
alien[‘color’] = ‘yellow’
alien[‘speed’] = ‘medium’
alien[‘points’] = 10

显示前5个外星人

for alien in aliens[0:5]:
print(alien)
print("…")

print("\n")

增加elif代码块,将黄色外星人进行修改

aliens = []
for alien_number in range(0,30): # 注意range(a,b)的用法
new_alien = {‘color’: ‘green’, ‘points’: 5, ‘speed’: ‘slow’}
aliens.append(new_alien)
for alien in aliens[0: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

显示前5个外星人

for alien in aliens[0:5]:
print(alien)

print("\n")

在字典中储存列表

储存所点比萨的信息

pizza = {
‘crust’: ‘thick’,
‘toppings’: [‘mushrooms’, ‘extra cheese’],
}

概述所点的比萨

print(“You ordered a " + pizza[‘crust’] + “-crust pizza " +
“with the toppings:”)
for topping in pizza[‘toppings’]:
print(”\t” + topping)

在字典中储存列表的另一个例子

favorite_languages = {
‘jen’: [‘python’, ‘ruby’],
‘sarah’: [‘c’],
‘edward’: [‘ruby’, ‘go’],
‘phil’: [‘python’, ‘haskell’],
}
for name, languages in favorite_languages.items():
print("\n" + name.title() + “'s favorite languages are: “)
for language in languages:
print(”\t” +language.title())

用if语句和len()语句改进上面的程序

favorite_languages = {
‘jen’: [‘python’, ‘ruby’],
‘sarah’: [‘c’],
‘edward’: [‘ruby’, ‘go’],
‘phil’: [‘python’, ‘haskell’],
}
for name, languages in favorite_languages.items():
if len(languages) == 1:
print("\n" + name.title() + “'s favorite languages is: " +
language.title())
else:
print(”\n" + name.title() + “'s favorite languages are: “)
for language in languages:
print(”\t” +language.title())

在字典中存储字典

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())

Python编程:从入门到实践(读书笔记:第6章 字典)相关推荐

  1. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  2. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目

    文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...

  3. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  4. python编程从入门到实践读书笔记-《Python编程:从入门到实践》项目部分读书笔记(二)...

    鸽了一个暑假没有更新,现在趁着还没开学更一下.咕咕咕 上期作业: 请创建一个Django项目,命名为Blog,建不建立虚拟环境随便你,最后本地跑成了就行. 步骤: ①在需要创建工程的文件夹下打开cmd ...

  5. python基础学习[python编程从入门到实践读书笔记(连载二)]:外星人入侵项目

    第一版游戏demo 添加计分系统:中间是最高得分,右边是本次得分. 显示余下的飞船数 主函数如下,完整程序将上传到笔者的github:https://github.com/shizhengLi/lea ...

  6. python基础学习[python编程从入门到实践读书笔记(连载六)]:数据可视化项目第17章

    文章目录 使用API end 项目结果: 使用plotly可视化github最受欢迎的python仓库: 修改后的可视化图表: 使用API 编写独立的程序,实现对获取的数据可视化.我们使用Web AP ...

  7. python基础学习[python编程从入门到实践读书笔记(连载四)]:数据可视化项目第15章

    文章目录 matplotlib初学 基础绘图用法 随机漫步 使用Plotly模拟掷骰子 matplotlib初学 基础绘图用法 import matplotlib.pyplot as pltsquar ...

  8. Python编程从入门到实践(第三、四章的列表和元祖)

    1.Python中列表用[]来表示,并用逗号分隔其中元素 2.访问列表元素,给出元素的索引值即可(索引从0开始) 3.修改,添加和删除元素 3.1修改时给出列表名和修改元素的索引,然后赋新值 3.2在 ...

  9. python编程:从入门到实践 阅读笔记

    文章目录 第一章 起步 第二章 变量和简单数据类型 String 数字 整数 浮点数 第三章 列表简介 第四章 操作列表 元组 第五章 if 语句 第六章 字典 第七章 用户输入和while循环 第八 ...

  10. python编程从入门到精通读书笔记(基础知识)

    第一部分:基础知识 学习python想要做的软件  1.开机答题软件,(电脑一开机的输入密码,改为答题,初步设定为选择题,答对了才可以进入.)  2.   第二章 2.1第一个程序:  print(& ...

最新文章

  1. Spring事务的那些坑,这里都给你总结好了!
  2. android 车辆轨迹,Android自定义view实现车载可调整轨迹线
  3. OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现
  4. MySQL数据库中的删除命令:delete、truncate、drop
  5. pytorch 基于sqs2sqs的中文聊天机器人
  6. 2021最新微信漫画小程序全开源商业版:带漫画资源,带搭建教程,流量变现利器。附安装说明和源码。
  7. 微信html5怎么制作,图文揭秘微信h5怎么制作-朋友圈微信H5页面制作方法
  8. python手机端抢票大麦网_手把手教你用python抢票回家过年 !
  9. 3306π金牌讲师,甜橙金融(翼支付)高级总监张小虎专访
  10. Adobe Premiere基础-介绍,配置,快捷键,创建项目,创建序列(一)
  11. java域名校验_域名规则校验Java版本
  12. setup界面的network configuration 进不去的原因
  13. 布林通道参数用20还是26_boll参数20还是26好 股市的布林线的三根线是什么
  14. 漫谈Commons-Collections反序列化
  15. JVM历险记第三章:遇到了回收大法师
  16. java架构设计图,不止面试题,笔记源码统统都有
  17. 【动态规划】矩阵链乘法
  18. 怎么交c语言课堂作业,C语言第四次作业课堂
  19. 520,焊武帝为女朋友制作的硬核礼物
  20. Greenplum 6 安装配置详解

热门文章

  1. java计算机毕业设计基于安卓Android的运动管理软件app
  2. 一起变装吧服务器维护,影之诗12月28日服务器维护 版本更新详细内容汇总
  3. 用python爬取豆瓣某本书的前n条书评并计算评分(star)的平均值
  4. 基于Lattice XO2-4000HC FPGA核心板及电子森林综合训练底板的ADC数字电压表及OLED显示设计(Verilog)
  5. Snapseed玩出新高度,分分钟让你成p图大神! 转
  6. html中flash的用法,flash的用法总结大全
  7. 9个好用的生命科学研究工具分享
  8. 试题 算法训练 九宫格的奥(解题思路与代码)
  9. A段架构师_隽语集(Vision _0301)
  10. [ZT]精彩的国外育儿教育读本,图文并茂