2014-10-09 59 views
0

我是新来的蟒蛇......我很抱歉,如果我的问题听起来太业余。如何获取列表中项目的顺序?

my_list = [1, 2, 3, 4] 

我需要一个函数,让我的位置(或索引时我给它的项)

例如,4的索引将是3 ..

+0

可能的重复[查找给定一个包含它在Python中的列表项的索引](http://stackoverflow.com/questions/176918/finding-the-index-of-an-item-given -a-list-containing-it-in-python) – albciff 2014-10-14 10:55:49

回答

0
>>> [1, 2, 3, 4].index(4) 
3 
2

http://www.tutorialspoint.com/python/list_index.htm

>>> my_list = [1, 2, 3, 4] 
>>> my_list.index(4) 
3 

内置列表方法索引将返回第一个值的索引位置位于索引方法参数中指定的位置。

+1

如果存在多个值,你可以做“[我为i,j在枚举(my_list)如果j == valueToFind]”来获取索引数组 – user3885927 2014-10-09 04:14:19

0

,如果你需要更多的替代访问您的列表,你可以创建的配对索引和值的元组的元组的列表

>>> l = list(enumerate([1, 2, 3, 3, 4, 4]))    
>>> l 
[(0, 1), (1, 2), (2, 3), (3, 3), (4, 4), (5, 4)] 

,您可以根据索引或价值 例如访问或过滤器:

筛选器:返回所有索引与值= 3

>>> [tup[0] for tup in l if tup[1]==3] 
[2, 3] 
>>> [tup for tup in l if tup[1]==3] 
[(2, 3), (3, 3)] 

过滤:索引的返回值= 3

>>> [tup[1] for tup in l if tup[0]==4] 
[4]