簡體   English   中英

如何找到列表中項目的每次出現並打印其每次出現的索引號?

[英]How can I find each occurrence of a item in a list and print its each occurrences index number?

我希望能夠查看python列表並打印出每個出現次數的索引號。 例:

a = ['t','e','s','t']
a.index('t')

當我嘗試此代碼時,它只給我t的第一個索引號,但我希望它打印出t所使用的每個索引號。

您可以對enumerate使用列表enumerate

a = ['t','e','s','t']
indices = [i for i, x in enumerate(a) if x == 't']

在列表推導內部, i是當前索引, x是該索引處的值。

通過enumerate t的內部列表理解

>>> list1 = ['t','e','s','t']
>>> all_index = [i for i, j in enumerate(list1) if j == 't']
>>> all_index

輸出:

[0, 3]

對於所有元素都有循環,

list1 = ['t','e','s','t']
result = {}
for e in list1:
    result[e] = [i for i, j in enumerate(list1) if j == e]
print(result)

輸出:

 {'s': [2], 'e': [1], 't': [0, 3]}

是的,您可以enumerate

[x[0] for x in enumerate(a) if x[1]=='t']

Out[267]: [0, 3]
def get_indices(my_list, item):
    result = []
    for i in range(len(my_list)):
        if my_list[i] == item:
            result.append(i)
    return result

然后嘗試一下...

>>> get_indices(a, "t")
[0, 3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM