2013-10-08 119 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