一、列表与元组的区别:
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网
站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,
元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。列表可变,元组不可变。
1、修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺
寸,可重新定义整个元组:dimensions = (200, 50)print("Original dimensions:")for dimension in dimensions:print(dimension) dimensions = (400, 100) print("\nModified dimensions:")for dimension in dimensions:print(dimension)
Original dimensions:
20050Modified dimensions:400100相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都
不变,可使用元组。二、if条件语句:
为让代码更简洁,可不在if-elif-else代码块中打印门票价格,而只在其中设置门票价格,
并在它后面添加一条简单的print语句:age = 12if age < 4: price = 0elif age < 18: price = 5else: price = 10 print("Your admission cost is $" + str(price) + ".")
三、测试多个条件
if-elif-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,
Python就跳过余下的测试。这种行为很好,效率很高,让你能够测试一个特定的条件。然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif和else代码块的简单if语句。在可能有多个条件为True,且你需要在每个条件为True时都采取相应措施时,适合使用这种方法。
requested_toppings = ['mushrooms', 'extra cheese'] if 'mushrooms' in requested_toppings:print("Adding mushrooms.") if 'pepperoni' in requested_toppings:print("Adding pepperoni.") if 'extra cheese' in requested_toppings:print("Adding extra cheese.")print("\nFinished making your pizza!")
Adding mushrooms.
Adding extra cheese.Finished making your pizza!总之,如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就
使用一系列独立的if语句。四、使用if 语句处理列表
检查特殊元素:
requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']for requested_topping in requested_toppings: if requested_topping == 'green peppers':print("Sorry, we are out of green peppers right now.") else:print("Adding " + requested_topping + ".")print("\nFinished making your pizza!")
Adding mushrooms.
Sorry, we are out of green peppers right now.Adding extra cheese.Finished making your pizza!确定列表不是空的
requested_toppings = [] if requested_toppings:for requested_topping in requested_toppings:print("Adding " + requested_topping + ".")print("\nFinished making your pizza!") else:print("Are you sure you want a plain pizza?")
在这里,我们首先创建了一个空列表,其中不包含任何配料(见)。在处我们进行了简
单检查,而不是直接执行for循环。在if语句中将列表名用在条件表达式中时,Python将在列表至少包含一个元素时返回True,并在列表为空时返回False。如果requested_toppings不为空,就运行与前一个示例相同的for循环;否则,就打印一条消息,询问顾客是否确实要点不加任何配料的普通比萨(见)。在这里,这个列表为空,因此输出如下——询问顾客是否确实要点普通比萨
如果这个列表不为空,将显示在比萨中添加的各种配料的输出。
五、字典 在Python中,字典用放在花括号{}中的一系列键—值对表示,如前面的示例所示:
alien_0 = { 'color': 'green', 'points': 5}