Python List解析配合if else 简化代码

使用List解析,把循环写在一行简化代码

列表解析的两种形式:

1. [i for i in range(k) if condition]:此时if起条件判断作用,满足条件的,将被返回成为最终生成的列表的一员。

2. [i if condition else exp for exp]:此时if...else被用来赋值,满足条件的i以及else被用来生成最终的列表。

1、第一种情况[i for i in range(k) if condition]

1.1没有使用List解析的时候,使用for in 循环

for data in data_list:
    if data.get("project_name") and data.get("project_name")== project_name
    all_data+=data

1.2使用了List解析写在一行中:

all_data+=[data for data in data_list if (data.get("project_name") and data.get("project_name")== project_name)]

第二种情况:[i if condition else exp for exp]

2.1没有使用List解析的时候,使用if else 循环

data_all = []
for i in range(10):
    if i == 0:
        data_all.append(0)
    else:
        data_all.append(1)
print(data_all)

2.2使用了List解析写在一行中:

print([data if data ==0 else 1 for data in range(10)])

结果打印:

Python List解析配合if else 简化代码_第1张图片

你可能感兴趣的:(python学习)