以一個列表,例如說這一個:int轉換成列出蟒蛇
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
,並編寫打印出清單中的所有元素的列表的程序[1,1,2,3 5]是小於5 目前,它作爲打印
1
1
2
3
5
我的代碼
a = [1,1,2,3,5,8,13,21,34,55,89]
count = 0
for i in a:
if i<=5:
count+=1
print(i)
以一個列表,例如說這一個:int轉換成列出蟒蛇
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
,並編寫打印出清單中的所有元素的列表的程序[1,1,2,3 5]是小於5 目前,它作爲打印
1
1
2
3
5
我的代碼
a = [1,1,2,3,5,8,13,21,34,55,89]
count = 0
for i in a:
if i<=5:
count+=1
print(i)
如果希望所有打印出人l偉大的元素和等於 5然後你做對了。但是如果你想打印出少於5你想要的:
for i in a:
if i < 5:
count += 1
print(i)
要打印出列表,將其保存爲列表。您可以使用列表理解來做到這一點:
>>> a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> [i for i in a if i<=5]
[1, 1, 2, 3, 5]
如果我們使用print
,但它仍然看起來是一樣的:
>>> print([i for i in a if i<=5])
[1, 1, 2, 3, 5]
您是否也可以使用'filter' –
@ cricket_007是的,非常真實。在py2中,可以使用'filter(lambda x:x <= 5,a)',或者在py2或py3中使用'list(filter(lambda x:x <= 5,a))'。 – John1024
你應該有,如果條件是,如果你想唯一的元素比更小,更嚴格它應該是if i<5:
而不是i<=5
。
如果要將元素存儲在新列表中,請參閱下面的示例。
a = [1,1,2,3,5,8,13,21,34,55,89]
new_list=[]
for i in a:
if i<5:
new_list.append(i)
print new_list
我錯過了什麼嗎?它看起來像預期的和實際的輸出匹配。 –
@CharlesMcKelvey他需要它形成像不只是間隔 –
你只是問如何格式化輸出,所以它看起來像'[1,1,2,3,5]'而不是'1 1 2 3 5'?如果是這樣,可能建議放棄問題的這一部分,以回答剛纔提到的作業問題。目前的情況令人困惑。 –