前言:上次学习到了if语句,这次接着进行学习。

字典

字典能够准确地为各种真实物体建模,且能够将相关信息关联起来。

使用字典

字典是一系列的键——值对,一个建对应一个值,值可以为数字、字符串等
在Python中,字典用放在花括号{} 中的一系列键—值对表示。

访问字典中的值

score = {'shuxu':'80','yuwen':'90'}print(score['shuxu'])
print(score['yuwen'])
#输出结果:
80
90

添加键——值对

字典是一种动态结构,可随时在其中添加键—值对
添加时值用方括号[]括起来

score = {'shuxu':'80','yuwen':'90'}print(score)score['wuli'] = 60
score['yingyu'] = 90
print(score)
#输出结果:
{'shuxu': '80', 'yuwen': '90'}
{'shuxu': '80', 'yuwen': '90', 'wuli': 60, 'yingyu': 90}

创建一个空字典

score = {}score['wuli'] = 60
score['yingyu'] = 90
print(score)
#输出结果:
{'wuli': 60, 'yingyu': 90}

修改字典中的值

score = {'yuwen':'80'}
print(score)
score['yuwen'] = '90'
print(score)
#输出结果:
{'yuwen': '80'}
{'yuwen': '90'}

删除键——值对

使用del 语句可以将相应的键—值对彻底删除,使用del 语句时,必须指定字典名和要删除的键。

score = {'yuwen':80,'shuxu':90}
print(score)
del score['shuxu']
print(score)
#输出结果:
{'yuwen': 80, 'shuxu': 90}
{'yuwen': 80}

由类似对象组成的字典
如果用字典来存储众多对象的同一种信息,可以用这样的形式

yuwen_score = {'me': '90','you':'80','he':'70','she':'60',}
print("he score is"+yuwen_score['he'])
#输出结果:
he score is70

遍历所有的键——值对

遍历键值——对时,可声明两个变量,用于存储键—值对中的键和值。对于这两个变量,可使用任何名称。

yuwen_score = {'me': '90','you':'80','he':'70','she':'60',}
for key,value in yuwen_score.items():print("\nkey: " + key)print("value: " + value)
#items() 函数以列表返回可遍历的(键, 值) 元组数组。
#输出结果:
key: me
value: 90key: you
value: 80key: he
value: 70key: she
value: 60

遍历字典中的所有键

keys() 函数返回一个列表包含所有键

yuwen_score = {'me': '90','you':'80','he':'70','she':'60',}
for key in yuwen_score.keys():print("\nkey: " + key)
#输出结果:
key: mekey: youkey: hekey: she

按顺序遍历字典中的所有值

函数sorted() 来获得按特定顺序排列的键列表的副本

yuwen_score = {'me': '90','you':'80','he':'70','she':'60',}
for key in sorted(yuwen_score.keys()):print("\nkey: " + key)
#输出结果:
key: hekey: mekey: shekey: you

遍历字典中的所有值

方法values() ,返回一个值列表,不包含任何键。

yuwen_score = {'me': '90','you':'80','he':'70','she':'60',}
for score in yuwen_score.values():print("\nscore: " + score)
#输出结果:
score: 90score: 80score: 70score: 60

如果值中有重复的,可以用集合set,如:

yuwen_score = {'me': '90','you':'80','he':'70','she':'90',}
for score in set(yuwen_score.values()):print("\nscore: " + score)
#输出结果:
score: 90score: 80score: 70

嵌套

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

字典列表

score_0 = {'subject':'yuwen','point':60}
score_1 = {'subject':'shuxu','point':70}
score_2 = {'subject':'yingyu','point':80}scores = [score_0,score_1,score_2]for score in scores:print(score)
#输出结果:
{'subject': 'yuwen', 'point': 60}
{'subject': 'shuxu', 'point': 70}
{'subject': 'yingyu', 'point': 80}

在字典中储存列表

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

school = {'teacher': 'wang','subjects': ['shuxu','yuwen'],}
print(school['teacher'])for subject in school['subjects']:print("\t" + subject)
#输出结果:
wangshuxuyuwen

用户输入和while循环

函数input

函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中。
使用函数input() 时,输入解读为字符串

message = input("please input message:\n")
print("message is:"+message)
#输出结果:
please input message:
22222
message is:22222

函数int

使用函数int() 来获取数值输入 ,input()解读的为字符串,不能直接和整数比较


将数值输入用于计算和比较前,需将其转换为数值表示.

求模运算符

%,将两个数相除并返回余数

print(4 % 3)
print(5 % 3)
print(6 % 3)
#输出结果:
1
2
0

使用while 循环
通过一个例子来了解while的语法

number = 1
while number <= 5:print(number)number +=1
#输出结果:
1
2
3
4
5

在循环中使用continue

返回到循环开头,并根据条件测试结果决定是否继续执行循环

number = 0
while number <10:number += 1if number % 2 ==0:continueprint(number)#输出结果:1
3
5
7
9

在列表之间移动元素

numbers = ['a','b','c']
confirmed_numbers = []while numbers:middle_number = numbers.pop()#删除末尾赋给新的变量confirmed_numbers.append(middle_number)for confirmed_number in confirmed_numbers:print(confirmed_number.title())
#输出结果:
C
B
A

删除包含特定值的所有列表元素

messages = ['a','b','c','d','a','a']
print(messages)while 'a' in messages:messages.remove('a')print(messages)
#输出结果:
['a', 'b', 'c', 'd', 'a', 'a']
['b', 'c', 'd']

使用用户输入来填充字典

#创建一个空字典
responses = {}
#设置一个标志
active = Truewhile active:name = input("\nWhat is your name?")like_food = input("your like food is ?")#将答案存储在字典中responses[name] = like_foodrepeat = input("Would you like to let another person respond? (yes/ no) ")if repeat =='no':active = False
for name,like_food in responses.items():print(name+":"+like_food)
#输出结果:
What is your name?222
your like food is ?222
Would you like to let another person respond? (yes/ no) no
222:222

这次就先学习到这,下次继续学习。

python学习(字典、用户输入和while循环)相关推荐

  1. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  2. python 循环输入_python入门(用户输入和while循环)

    用户输入和while循环 关于用户输入的事其实我们之前就有提到过,不过没有花时间去细讲,今天我们就花点时间来解决一下它. 首先我们需要知道的是用户输入是什么?顾名思义,用户输入就是指用户需要在输出处输 ...

  3. Python中用户输入与while循环

    文章目录 前言 一.用户输入 1.输入字符串 2.使用函数int()获取数值输入 3.求模运算符的应用 二.while循环 1.简单的while循环 2.通过用户输入退出while循环 3.使用标志 ...

  4. 重温Python基础——用户输入和while循环

    人生苦短,我用Python 序言 函数input()的工作原理 使用int()来获取数值输入 while循环简介 使用break退出循环 在循环中使用continue 避免无限循环 删除为特定值的所有 ...

  5. python学习[第十三篇] 条件和循环

    python学习[第十三篇] 条件和循环 if语句 单一if 语句 if语句有三个部分构成,关键字if本身,判断结果真假的条件表达式,以及表达式为真或非0是执行的代码 if expression: e ...

  6. 8、python基础知识-用户输入

    #!/usr/bin/env python # _*_ coding: utf-8 _*_ num = 100 name = input("your name:") age = i ...

  7. Python学习笔记D2(条件与循环)

    Python学习笔记D2(条件与循环) 条件语句 if expression:(可以利用布尔操作符and,or,not) *****语句- elif:(else if) ***** 语句- else: ...

  8. python输入end退出循环_4.学习python获取用户输入和while循环及if判断语句

    0x00 Abstract 在开发中为了增加程序与用户的互动性需要增加获取用户输入的功能,在python中可以使用input()函数来获取用户的输入.当获取用户的各种输入后,我们需要使用逻辑语句来对数 ...

  9. 《Python编程从入门到实践》学习笔记7:用户输入和while循环

    一.用户输入 函数input()的功能,就是让程序在运行过程中,能够接收到用户的输入进行输出,如下例所示: prompt = "请按照提示输入您的姓名,我们将根据您的姓名显示信息!\n&qu ...

最新文章

  1. 浪潮服务器建立虚拟驱动器,像《十二时辰》一样去建立标准! 浪潮这款服务器做到了...
  2. 远程网络安装RHEL5
  3. 如何关闭默认浏览器检查
  4. 【今日CV 计算机视觉论文速览】Thu, 28 Mar 2019
  5. 多个onload事件写法
  6. internal/child_process.js:313 Error:spawn EACCES
  7. screenfull.js跨浏览器使用JavaScript Fullscreen API
  8. SQL Server 2005 彻底卸载、重装问题
  9. 【MySQL】全文索引详解
  10. java动物识别_java编写的专家系统(人工智能)动物识别
  11. 服务器右下角的tomcat图标不显示了——解决方法
  12. Date日期格式转换
  13. 基于MFC和OpenCV的图像处理小软件
  14. 涂鸦智能斩获2016中国企业服务50强奖
  15. 网咖评分系统项目简介
  16. dt100g3什么意思_对金士顿DT100G364GBU盘简单测评
  17. 如何读《周易》这本书
  18. ca证书如何保证非对称加密安全?
  19. 视频教程-软件设计是怎样炼成的?-软件设计
  20. 一个外强中干人的自白

热门文章

  1. Android压缩文件(压缩目录)
  2. sklearn模型的训练(上)
  3. 关于浏览器跨域请求的相关原理实现--很经典的博客
  4. IET Cyber-Systems Robotics线上研讨会:聚焦人工智能与机器人前沿
  5. 从4篇顶会论文看Self-training最新研究进展
  6. 新年第一战| 数字中国创新大赛·大数据赛道等你来战
  7. 详解深度学习中的Normalization,不只是BN(2)
  8. HDU 1874 SPFA算法Dijkstra算法
  9. 04 | 深入浅出索引(上)
  10. track文件 什么是git_git常用命令