2014-10-09 53 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]