2013-10-08 164 views
1

這是我到目前爲止的代碼創建列表從循環

print("L = ",[4,10,4,2,9,5,4]) 

Startlist = [4,10,4,2,9,5,4] 
usrinput = int(input("Enter an element to search for in the list: ")) 
for i in [i for i,x in enumerate(Startlist) if x == usrinput]: 
    print(i) 

我試圖做不過一個新的列表,從for循環打印numbers.This的樣本來看,我得到了通過輸入4

L = [4, 10, 4, 2, 9, 5, 4] 
Enter an element to search for in the list: 4 
0 
2 
6 

我怎麼能把0 2 6變成[0,2,6]?

感謝您的任何答覆

+0

你已經擁有列表,在此:'[我爲我在枚舉X(Startlist)如果x == usrinput]' – karthikr

回答

3

你已經取得的名單!代碼中的繁重任務在您創建並迭代的臨時數組中。

newlist = [i for i,x in enumerate(Startlist) if x == usrinput] 
+0

謝謝!是的,我顯然是遵循傳統的循環結構太多,以至於沒有必要單獨打印(i) – user2840144

3

只需打印清單理解:

print([i for i,x in enumerate(Startlist) if x == usrinput]) 
+0

OMG我不能相信,一個下滑了,非常感謝! – user2840144

+0

@ user2840144您應該可能接受其中一個答案,方法是單擊您喜歡的旁邊的刻度線。 – Marcin

+0

我會一旦它讓我!儘管謝謝! – user2840144