Python:使用if语句处理列表

178 阅读2分钟

使用if语句处理列表

1.检查特殊元素

通过创建一个列表,在其中包含顾客点的配料,并使用一个循环来指出添加到比萨中的配料,可以以极高的效率编写这样的代码:

requested_toppings = ['mushrooms', 'green peppers','extra cheese']
for requested_topping in requested_toppings:
    print("Adding " + requested_topping + ".")
print("Finished making your pizza!")

输出结果为:

Adding mushrooms.
Adding green peppers.
Adding extra cheese.
Finished making your pizza!

假如green peppers用完了,为处理这种情况,我们可以加一条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("Finished making your pizza!")

对每个元素进行检查,判断是否为green peppers,如果是,就输出一条消息“Sorry,we are out of green peppers right now”进行说明。上述输出结果为:

Adding mushrooms.
Sorry,we are out of green peppers right now
Adding extra cheese.
Finished making your pizza!

2.确定列表不是空的

在运行for循环前确定列表是否为空很重要。 例如:

requested_toppings = []

if requested_toppings:
    for requested_topping in requested_toppings:
        print("Adding " + requested_topping + ".")
    print("Finished making your pizza!")
else:       
    print("Are you sure you want a plain pizza?") 

我们首先创建了一个空列表,其中不包含任何元素。我们先进行了简单检查,而不是直接执行for循环。 在if语句中将列表名用在条件表达式中时,Python将在列表至少包含一个元素时返回True,并在列表为空时返回False。 如果requested_toppings不为空,就运行与前一个示例相同的for循环;否则,就打印一条消息。 打印结果为:

Are you sure you want a plain pizza?

3.使用多个列表

下面的示例定义了两个列表,其中第一个列表包含比萨店供应的配料,而第二个列表包含顾客点的配料。

available_toppings = ['mushrooms', 'olives', 'green peppers',                      'pepperoni', 'pineapple', 'extra cheese']
requested_toppings = ['mushrooms', 'french fries', 'extra cheese']
for requested_topping in requested_toppings:
    if requested_topping in available_toppings:
        print("Adding " + requested_topping + ".")
    else:
        print("Sorry, we don't have " + requested_topping + ".")
print("Finished making your pizza!")  

这些代码的输出结果:

Adding mushrooms.
Sorry, we don't have french fries.
Adding extra cheese.
Finished making your pizza!

设置if语句的格式:

在条件测试的格式设置方面,PEP8提供的唯一建议是:在诸如==、>=和<=等比较运算符两边各添加一个空格。 例如,if age < 4:要比if age<4:好。