a = [0,1,2,3,4,5,6]
for x in a:
list(x < 4):
預期輸出:[0,1,2,3]
實際輸出:[True, True, True, True, False, False, False]
通過小於產生短名單蟒蛇運行列表
任何想法如何得到我想要的東西?
a = [0,1,2,3,4,5,6]
for x in a:
list(x < 4):
預期輸出:[0,1,2,3]
實際輸出:[True, True, True, True, False, False, False]
通過小於產生短名單蟒蛇運行列表
任何想法如何得到我想要的東西?
a = [0,1,2,3,4,5,6]
print ([x for x in a if x<4])
輸出;
[0, 1, 2, 3]
>>>
編輯後評論:它被稱爲list comprehension。
您可能需要提及的是,名稱這個Python功能是一個「列表理解」,以便提問者想要搜索和了解更多信息。 – NicholasM
您可以使用filter
:
>>> a = [0,1,2,3,4,5,6]
>>> list(filter(lambda x: x < 4, a))
[0, 1, 2, 3]
或itertools.takewhile
(以防名單排序):
>>> from itertools import takewhile
>>> a = [0,1,2,3,4,5,6]
>>> list(takewhile(lambda x: x < 4, a))
[0, 1, 2, 3]
什麼是不是排序? –
@PadraicCunningham你是對的,將它添加到答案。 –
列表總是排序 –