Python study day 03

3.if语句、dictionary

3.1 if语句

3.1.1 关于条件测试

        每条if语句的核心都是一个值为True或False的表达试,这种表达式称为条件测试。

示例:

        在Python中检查是否相等时需要区分大小。如果不想比较大小写,只想比较变量的值,可以同时转换为大写或者小写。

示例:

        要判断两个值是否不相等可以使用符号(!=)。

示例:

zhouluxun = 'human'
if zhouluxun != 'doge':
	print('Zhouluxun is a human')

        检查多个条件,可以使用关键字and和or。

示例:

number = 100
if number <= 101 and number > 99: 
	print(number) 
#‘and’ 关键字是交集

print('\n')

if number < 101 or number >10000:
	print(number)
#‘or’ 关键字是并交集

         确定特定的值未包含在列表中很重要,可使用关键字not in。

示例:

number = 100
if number not in range(100):
	print('True')

        布尔表达式,他是条件测试的别名。与条件表达式一样,布尔表达式的结果要么是True,要么是False。

3.1.2 if语句的各种简单运用

        if语句有很多种,具体要选择哪种取决于你要测试的条件数量。在if语句中,缩进的作用与for

语句的作用相同。如果测试通过了,将会执行if语句后面的所有程序代码,否则将会忽略他们。else是一条包罗万象的语句,但可能会引入无效或者恶意的数据。如果知道最终要测试的条件应当考虑使用一下elif代码。

示例:

number = 100
if number not in range(100):
	print(1)
#最为普通的if语句结构

print('\n')

if number < 10:
	print(2)
elif number < 99:
	print(3)
else:
	print(4)
#首先测试if后面的条件是否成立,
#如果不成立就继续之后的测试直到成功为止。

print('\n')

if number < 10:
	print(2)
elif number < 99:
	print(3)
elif number != 100
	print(4)
#与上一个结构不同的是末尾没有了else代码,
#else是所以条件不成立时使用
#而elif是一旦成立就使用

测试多个条件,直接上示例:

requested_toppings = ['mushrooms', 'extra cheese']
if 'mushrooms' in requested_toppings:
	print('Adding mushrooms')
if 'peppernoi' in requested_toppings:
	print('Adding peppernoi')
if 'extra cheese' in requested_toppings:
	print('Adding extra cheese')

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

3.3 使用if语句来处理列表(if语句与for语句的简单结合)

检查特殊元素,示例:

requested_toppings = ['mushrooms', 'extra cheese', 'rencai']
for requested_topping in requested_toppings:
	if requested_topping == 'mushrooms':
		print("Don't have")
	else:
		print(requested_topping)

        确定列表不是空的,在if语句中将列名用作条件表达式时,Python将在列表至少包含一个元素返回Ture,并在列表为空的时候返回False。

示例:

requested_toppings = []
if requested_toppings:
	for x in requested_toppings:
		print(x)
	print('happle')
else:
	print("Don't ture")

3.2 Dictionary

3.2.1 使用字典

        在Python中,字典是一系列键值对,每个键都与一个值相关联,我们可以使用键来访问相关联的值。

        在Python中,字典用放在花括号({ })中的一系列键值对表示。

示例:

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

new_points = alien_0['points']
print(new_points)

添加键值对,示例:

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x_position'] = 0 
alien_0['y_position'] = 25
print(alien_0)

alien_1 = {}
print(alien_1)
alien_1['x_position'] = 0 
alien_1['y_position'] = 25
print(alien_1)
#可以先创建一个空字典,再来添加值键对

        要修改字典中的值,可以依次指定字典名、用方括号括起来的键,以及与该键相关联的新值。

示例:

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['color'] = 'red'
print(alien_0)

        对于字典中不再需要的信息,可以使用del 语句将相对应的键值对彻底删除。

示例:

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['color']
print(alien_0)

        使用get()来访问值,方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在是要返回的值,是可选的:

示例:

alien_0 = {'color': 'green', 'points': 5}
print(alien_0.get('speed', 'No speed assigned.'))
speed = alien_0.get('speed', 'No speed assigned.')
print(speed)

注意:如果指定的键有可能不存在,应考虑使用方法get(),而不是用方括号表示法。

3.2.2 遍历字典

        要编写遍历字典的for循环,可声明两个变量,对于存储键值对的键和值,这两个变量可以使用任意名称。需要使用到方法items(),他将会返回一个键值对列表。

示例:

user_0 = {
	'username': 'efermi',
	'first': 'enrico',
	'last': 'fermi',
	}

for key, value in user_0.items():
	print(key)
	print(f'{value}\n')

        遍历字典中所有的键,使用方法keys(),在不需要使用字典的值的时候。

示例:

user_0 = {
	'username': 'efermi',
	'first': 'enrico',
	'last': 'fermi',
	}

for key in user_0.keys():
	print(f'{key}\n')

        同样的可以使用函数sorted()——for name in sorted(favorite_languages.keys()):,来按照顺序遍历字典中所有的键。

        遍历字典中所有的值,可以使用方法values()来返回一个值列表,不包含任何键。

示例:

user_0 = {
	'username': 'efermi',
	'first': 'enrico',
	'last': 'fermi',
	}

for value in user_0.values():
	print(f'{value}\n')

 

        遍历出来的值可能会有重复项,为了剔除重复项,可以使用集合。集合中所有的元素都是不重复的。对于包含重复元素的列表调用set(),可让Python找出列表中独一无二的元素,并使用这些元素来创建一个集合。

示例:

user_0 = {
	'username': 'efermi',
	'first': 'enrico',
	'last': 'fermi',
	'lasts': 'fermi',
	}

for value in set(user_0.values()):
	print(f'{value}\n')

user_1 = {'zhou', 'lu', 'xun', 'lu'}
print(user_1)
#可以使用花括号来创建集合

注意:不同与列表和字典,集合不会以特定的顺序储存元素。

3.2.3 嵌套

        有时候,需要将一系列字典存储到列表中,或将列表作为值存储到字典中,这就是嵌套。

字典列表的示例:

#创建一个用于存储外星人的空列表
aliens = []

#创建30个外星人
for aliens_number in range(30):
	new_alien = {'color': 'green', 'points': 5, 'speend': 'slow'}
	aliens.append(new_alien)

#改变前三个外星人的color=yellow,speed=medium,points=10
for alien in aliens[:3]:
	if alien['color'] == 'green':
		alien['color'] = 'yellow'
		alien['speed'] = 'medium'
		alien['points'] = 10

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

在字典中存储列表:

favorit_languages = {
	'jen': ['Python', 'ruby'],
	'sarah': ['c'],
	'zhouluxun': ['ruby', 'go'],
	}

for name, languages in favorit_languages.items():
	print(f"{name}'s languages are:")
	for language in languages:
		print(f'\t{language}')
		

注意:列表和字典的嵌套层数不应太多。

在字典中存储字典,示例:

users = {
	'aeinstein': {
		'first': 'albert',
		'last': 'einstein',
		'location': 'princeton',
		},

	'mcurie': {
		'first': 'marie',
		'last': 'curie',
		'location': 'paris',
		}
	}

for username, user_info in users.items():
	print(username)
	print(f"{user_info['first'].title()} {user_info['last'].title()}")
	print(f"{user_info['location']}\n")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值