2014-05-13 31 views
0

我試圖返回功能將在列表中這是我有:Python用於循環和範圍。什麼是我的錯

def boo_list(my_list): 
    for i in range(0, len(my_list) - 1, 1): 
     print(i) 

如果我調用該函數:

boo_list([True, True, False]) 

它返回:

0 
1 

True 
True 
False 

我的邏輯錯誤在哪裏?

+3

返回並打印是兩回事。學習使用適當的術語。 –

+1

事實上,您似乎要求從列表中打印所有值,而不進行值的任何特定轉換。 –

+1

請注意,範圍(N)默認從0到N-1;所以你不需要給它一個零開始,也不需要一個步驟,並且你不應該從數組長度中減去1。我強烈建議你遵循一個很好的教程,官方的教程很好。 – Davidmh

回答

3

那麼,因爲你正在處理的長度,並打印索引而不是實際值。

相反,這樣做:

def boo_list(my_list): 
    for i in my_list: 
     print(i) 
2

您還可以使用lambda函數打印慾望的結果。

>>boo_list = lambda x:x 

>>boo_list([True,False,True]) 

輸出:

#Result : [True, False, True]