說我有一個清單:
c = ['A','B','C','']
我使用以下代碼回圈它以列印沒有空元素'':
for i in c:
if i != '':
print(i)
i = i
else:
pass
outputs:
A
B
C
我也可以這樣做:
[i for i in x for i!=0]
outputs:
['A',
'B',
'C']
我的問題是下面這種型別的回圈叫什么?如何在此回圈中添加 if else 陳述句?以及任何可以幫助我更多地了解它的材料。
uj5u.com熱心網友回復:
它被稱為串列理解。
有兩種執行 if 陳述句的方法:
>>> a = [5, 10, 15, 20, 25, 30, 35]
>>> b = [i for i in a if i % 3 == 0]
>>> b
... [15, 30]
>>> c = [i if i % 3 == 0 else 0 for i in a]
>>> c
... [0, 0, 15, 0, 0, 30, 0]
串列推導式提供了一種創建串列的簡潔方式。常見的應用是創建新串列,其中每個元素是應用于另一個序列或可迭代的每個成員的某些操作的結果,或者創建滿足特定條件的那些元素的子序列
串列推導式由包含運算式的括號組成,后跟一個 for 子句,然后是零個或多個 for 或 if 子句。結果將是一個新串列,該串列是通過在其后面的 for 和 if 子句的背景關系中評估運算式而產生的。
在以下鏈接中了解有關 Python 檔案中串列理解的更多資訊:
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
uj5u.com熱心網友回復:
它被稱為串列理解。
您可以使用if 條件獲得所需的串列(d),如下所示
c = ['A','B','C','']
d = [i for i in c if i!= '']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473801.html
標籤:python-3.x 循环
上一篇:在Ruby中,如果用戶輸入了錯誤的范圍,有沒有辦法讓用戶通過條件陳述句回圈回傳?
下一篇:雪花在回圈內呼叫存盤程序N次
