Python 列表推導式中使用if

2021-10-08 21:13:10 字數 1450 閱讀 1309

列表推導式(又稱列表解析式)提供了一種簡明扼要的方法來建立列表。

它的結構是在乙個中括號裡包含乙個表示式,然後是乙個for語句,然後是 0 個或多個 for 或者 if 語句。那個表示式可以是任意的,意思是你可以在列表中放入任意型別的物件。返回結果將是乙個新的列表,在這個以 if 和 for 語句為上下文的表示式執行完成之後產生。

列表推導式的執行順序:各語句之間是巢狀關係,左邊第二個語句是最外層,依次往右進一層,左邊第一條語句是最後一層。

1.現在有乙個元組中存在各種型別的資料

(1, 『張三』, none, decimal(『196.32』), datetime.datetime(2020, 8, 5, 11, 28, 47))

# 遍歷這個元組,並且將其每個元素轉換成str型別

a =[

str(iterm)

for iterm in tuple_test]

print

(a)print

(type

(a))

# 輸出

['1', '張三', 'none', '196.32', '2020-08-05 11:28:47']

2.巢狀呼叫(含if)

a =

[x+y for x in

range(1

,5)if x >

2for y in

range(1

,5)if y <2]

print

(a)

# 輸出

[4, 5]

# 執行順序

for x in

range(1

,5):

if x >2:

for y in

range(1

,5):

if y <2:

print

(x+y)

3.複雜呼叫(含if else)

還是上面那個元組

# 先在for迴圈迭代元組,如果元組中的元素不為none就直接輸出,如果元素為none則替換為null

a =[

str(iterm)

if iterm is

notnone

else

'null'

for iterm in tuple_test]

print

(a)print

(type

(a))

# 輸出

['1', '張三', 'null', '196.32', '2020-08-05 11:28:47']

python列表推導式使用

列表推導式 alist 一般的操作方式 for x in range 30 print alist alist x x for x in range 30 使用列表推導式,形式上更加簡潔 print alist alist 一般的操作方法 for x in freshfruit print alis...

python 理解列表推導式以及列表推導式巢狀

所謂列表推導式,就是將乙個可迭代的列表遍歷,將每次遍歷的元素拿出來進行一些操作,並用乙個 括起來,組成乙個新的列表 expression for i in item if condition expression 就是對每乙個元素的具體操作表示式 item是某個可迭代物件的元素,如列表,元組或字串等...

python列表推導式

a 1,2,3,4,5,6,7 將每個元素求平方 加入到b列表中 1.列表解析 b x 2 for x in a print b 2.用map實現 c map lambda x x 2,a print list c 3.用迴圈實現 d for x in a print d 將a中的偶數求立方加入到新...