天天看點

Python清單生成式寫法

清單生成式可以簡化代碼,非常有用。總共以下有兩種形式:

1、[x for x in data if condition]

此處if主要起條件判斷作用,data資料中隻有滿足if條件的才會被留下,最終生成一個資料清單。例子如下:

print([x for x in [1, 2, 3, 4, 5, 6] if x % 2 == 0])

# [2, 4, 6]
           

2、[exp1 if condition else exp2 for x in data]

此處if…else主要起指派作用。當data中的資料滿足if條件時,将其做exp1處理,否則按照exp2處理,最終生成一個資料清單。例子如下:

print([0 if x < 2 else x for x in [0, 1, 3, 0, 2, 1, 1, 3, 2, 1, 0, 0]])

# 将list中小于2的數變成0,其餘保留原數
# [0, 0, 3, 0, 2, 0, 0, 3, 2, 0, 0, 0]