Python入门 -2- if语句 字典

  • if语句
  • 字典

if语句

每条if语句的核心都是一个值为True 或 False 的表达式 这种表达式被称为条件测试
= : 一个等号是陈述 将值赋给变量
== :两个等号是陈述 等号两边是否相等
在Python中检查是否相等时区分大小写 若想忽略大小写 可以将变量转换成小写(.lower)
!= :检查是否不相等
使用 and 检查多个条件 :两个都为true时 结果为true

age_0 >= 21 and age_1 >=21
(age_0 >=21) and (age_1>=21) 
 为改善可读性 可将每个测试都分别放在一堆括号内 但并非必须这样做

使用 or 检查多个条件 :只要有一个为true 结果就为true
关键字 in 检查特定值是否包含在列表中
关键字 not in 检查特定值是否不包含在列表中

布尔表达式 : 条件测试的别称

简单的if语句
if conditional_test:
	do something
if-else 语句
if conditional_test:
	do something
else:
	do another things
if-elif-else 结构
if conditional_test:
	do something
elif conditional_test1:
	do another things
else:
	do other things
使用多个elif代码块
省略else代码块

else是一个包罗万象的语句 只要不满足任何 if 或 elif 中的条件测试 其中的代码就会执行 这可能会引入无效甚至恶意的数据 如果知道最终要测试的条件 应考虑使用一个 elif 代码块来代替 else 代码块

测试多个条件

如果只想执行一个代码块 就使用 if-elif-else 结构 ;
如果要运行多个代码块 就使用一系列独立的 if 语句

使用 if 语句处理列表

检查特殊元素
确定列表不是空的

if list:
	do something
else:
	do another thing
如果列表不为空  do something 
如果列表为空 do another thing
使用多个列表

设置 if 语句的格式: 在诸如 == 、 >= 、 <= 等运算符两边各添加一个空格 这样的空格并不会影响Python对代码的解读 而只是让代码阅读起来更容易

字典

使用字典

在Python中 字典用放在花括号{} 中的一系列键-值对表示
键-值对是两个相关联的值 指定键时 Python将返回与之相关联的值
键和值之间用冒号分隔 而键值对之间用逗号分隔

例1:alien_0 = {'color': 'green', 'points': 5}
访问字典中的值
alien_0 = {'color': 'green', 'points': 5}
print(alien_0 ['color'])
>>> green
new_points = alien_0['points']
print("You just earned " + str(new_points) + " points!")
>>>  You just earned 5 points!
添加键-值对

字典是一种动态结构
键-值对的排列顺序与添加顺序不同 Python不关心键-值对的添加顺序 而只关心键和值之间的关联关系

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
>>>{'color':'green', 'points': 5}
   {'color':'green', 'points': 5, 'x_position': 0, 'y_position': 25}
先创建一个空列表

使用字典来存储用户提供的数据或在编写能自动生成大量键-值对的代码时 通常都需要先定义一个空字典

可以修改字典中的值
删除键-值对

使用 del 语句将相应的键-值对彻底删除 (删除的键-值对永远消失了) 使用 del 语句时 必须指定字典名和要删除的键

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['points']
print(alien_0)
>>>	{'color': 'green', 'points': 5}
    {'color': 'green'}
由类似对象组成的字典

使用字典来存储众多对象的同一种信息

例:调查很多人 询问他们最喜欢的编程语言 (例2)
favorite_languages = {
	'jen':'python',
	'sarah':'c',
	'edward':'ruby',
	'phil':'python',
	}

当语句较长时 可以选择合适的地方将内容进行拆分 并使用Tab键将它们对齐并缩进一级

print("Sarah's favorite language is "+
	favorite_languages['sarah'].title() +
	".")
>>> Sarah's favorite language is C.
遍历字典
遍历所有的键-值对
例3:
user_0 = {
	'username': 'efermi',
	'first': 'enrico',
	'last': 'fermi',
	}
	
for key, value in user_0 .items():
	print("\nKey: " + key)
	print("Value: " + value)
>>> Key: username
	Value: efermi
	
	Key: first
	Value: enrico
	
	Key: last
	Value: fermi

使用for 循环来遍历字典 可声明两个变量 用于存储键-值对中的键和值 对于这两个变量 可以使用任何名称(不限于Key or Value)
for 语句的第二部分包含字典名和方法 items() 它返回一个键-值对列表
遍历列表时 键-值对的返回顺序与存储顺序也可能不同 Python不关心键-值对的存储顺序

遍历字典中的所有键

在不需要使用字典中的值时 方法keys() 很有用

favorite_languages = {
	'jen':'python',
	'sarah':'c',
	'edward':'ruby',
	'phil':'python',
	}
	
for name in favorite langrrages.keys():
	print(name.title())
>>> Jen
	Sarah
	Edward
	Phil

遍历字典时 会默认遍历所有的键 可以省略它
但是显式的使用方法keys()可以让代码更容易理解
可以结合if 语句中的语法使用 in , not in

例如:
(例2)
if 'Phil' in favorite languages.keys():
	print(“yes”)
>>> yes
按顺序遍历字典中的所有键

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

(例2)
for name in sorted(favorite_languages.keys()):
	print(name.title() + ", think you for taking the poll.")
	
>>> Edward, thank you for taking the poll.
	Jen, thank you for taking the poll.
	Phil, thank you for taking the poll.
	Sarah, thank you for taking the poll.
遍历字典中的所有值

可以使用方法values() 它返回一个值列表 而不包含任何键

(例2)
print("The following languages have been mentioned: ")
for language in favorite_languages.values():
	print(language.title())
	
>>> The following languages have been mentioned: 
	Python
	C
	Ruby
	Python

这种做法提取字典中所有的值 而没有考虑是否充分 为剔除重复项 可以使用集合 set
集合类似于列表 但是每个元素都必须是独一无二的

print("The following languages have been mentioned: ")
for language in set(favorite_languages.values()):
	print(language.title())
	
>>> The following languages have been mentioned: 
	Python
	C
	Ruby
嵌套

在列表中嵌套字典、在字典中嵌套列表、在字典中嵌套字典
字典列表 :在列表中存储字典
先创建字典 然后放入列表中 可以遍历列表 将每个信息都打印下来
在字典中存储列表
当需要在字典中将一个键关联到多个值时 可以在字典中嵌套一个列表
在字典中嵌套字典
注意:每位用户的字典的结构都相同 虽然Python并没有这样的要求 但这使得嵌套的字典处理起来更容易

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值