Python-基础入门-学习笔记(3):if 语句及字典
一、if语句
1、条件测试
(1)检查是否相等
>>>car = 'audi' #赋值
>>>car == 'audi' #发问
True
在检查是否相等时,需要考虑大小写。
(2)检查是否不相等
if 1 != 2:
print("1不等于2")
(3)数字间的比较
>>>age = 19
>>>age < 21
True
>>>age <= 21
True
>>>age > 21
False
>>>age >= 21
False
(4)当检查多个条件时
and为与事件,需要所有的都满足才可以;or为或事件,有一个满足即可。
(5)判断特定的值是否包含在列表中
>>>numbers = ['1','2','3','4']
>>>'a' in numbers
False
>>>'1' in numbers
True
如果是检查特定值不在列表中,则将in 改为not in。
练习
2、if 语句
(1)简单的if语句
if conditional_test:
do something
如果不满足条件,不会有任何返回值!
(2)if else语句,通常用在没有通过时执行另一个操作。
#满足条件a时执行A,否则执行B
if conditional a:
do A
else:
doB
(3)if - elif - else结构
类似于C语言中的if-else语句,前面判断过的后面无需判断。
#满足条件a时执行A,满足条件b时执行B,否则执行C
if conditional a:
do A
elif conditional b:
do B
else:
do C
有时可以通过再添加一条elif语句,替换掉else,因为只要不满足任何if或elif的条件就会输出else,无意会引发恶意数据。
如果想将余下所有情况都归为一类,那么使用else在最后是最方便的。
当只有一个条件符合时,方式一:if - elif - else最合适;当测试多个条件并且每个条件满足都要执行某种操作时,最好用方式二:多个if语句来完成。因为对于方式一,只有一个通过就会跳过余下的测试;对于方式二,每一个if都会判断一次,直到全部判断完成。
总之,如果你想执行一个代码块,就使用 if -elif - else;如果要运行多个代码块,就使用一系列独立的if语句。
练习
3、使用if语句处理列表
鉴定是否为空:一般是在for循环执行之前先对列表进行检查,如果无误执行for循环,else执行为空所对应的操作。
练习
如果你想要在对比字符串时忽略大小写的问题,那么可以采用上述第29行的方法,先将预对比的字符串和列表中的每一个元素(注意不是对列表进行操作)进行统一化处理(此处采用全部最小化)。
如果你想将整个列表中的数字变为字符串,那么可以采用上述54行的方法,通过创建一个新的列表,并将之前的列表中的每个元素用循环的方法变为字符串,再存入新的列表中。
二、字典
1、字典用来存储一个物体的多种属性。
object = { A : a , B : b } #存储属性A和B
(1)在Python中,字典是一系列键-值对,通过键来访问相关联的值,键和值之间用冒号分开,键值对之间用逗号隔开,如上所示。
字典是一种动态结构,可随时在其中添加键值对。
(2)添加键值对的方法
object[C] = c
有时候先创建一个空的字典,以方便添加键值对。
(3)修改字典中的值
objecct[A] = d #把键A对应的值改为d
(4)删除键-值对
del object[A] #删除键-值对 A-a
删除的键值对将永远消失。
练习
2、遍历字典
可遍历字典的所有键-值对、键或值。
(1)遍历所有键值对
#返回一个键-值对列表,将键存在Key中,值存在Value中
for key,value in code.items():
print("\nKey: " + key)
print("Value: " + value)
Python不关心存储顺序,只跟踪键值之间的关联关系。
(2)遍历所有键
#只遍历键,将键存储在key中
for key in code.keys():
print(key.title())
遍历字典时,会默认遍历所有的键,如果将.keys()去掉,输出不变。
#按顺序遍历字典中的所有键
for key in sorted(code.keys()):
(3)遍历所有值
#只遍历值,将值存储在value中
for value in code.values():
print(value.title())
遍历所有的值时,不会考虑重复问题,所以我们可以采取剔除重复项的方法:
#为所得的值剔除重复项
for value in set(code.values()):
练习
3、嵌套
将一系列字典存储在列表中,或将列表作为值存储在字典中。可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。
(1)在字典中存储列表
#在字典中与B相关联的值是一个列表
code = {A:a,B:[b,c,d]}
for number in code[B]
每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。
(2)在字典中存储字典
例如,如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。
尽量要保证每位用户的字典结构相同,这样查起字典来会更容易。
练习