簡體   English   中英

查找列表中相同元素的索引號

[英]Find index number for identical elements in a list

我有一個由列表和字符串組成的列表。 我想找到列表中每個元素的索引位置,它是一個字符串。 問題在於字符串與'Error'相同。 我嘗試使用以下代碼:

err = [bayesian_prices.index(i) for i in bayesian_prices if i == 'Error']

不幸的是,從由252個元素組成的初始列表中,輸出如下:

[39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
39, 39, 39, 39]

這恰好是第一個元素的位置,該元素不是列表,而是字符串。 然后,其他字符串位置將使用相同的索引號注冊。 可能是由於所有字符串都相等。 如何獲得正確的索引號?

您可以使用enumerate()內置函數來獲取列表中每個字符串的索引值。 這是一個例子:

lists_and_strings = [[1, 2, 3], 'hello', [3, 4], 'error', [4, 5, 6]]

for index, element in enumerate(lists_and_strings):
    if type(element) is str:
        print(index)

這將打印lists_and_strings中每個字符串元素的lists_and_strings

對於多樣性,這是另一種方式:

lists_and_strings = [[1, 2, 3], 'hello', [3, 4], 'error', [4, 5, 6]]

str_indices = [i for i, j in enumerate(map(type, lists_and_strings)) if j is str]

暫無
暫無

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

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