dict1 = {"1":"a" "2":"b" "3":"c"}
for dict2 in all_dict:
     if compare_dicts(dict1, dict2):
         ...
         ...

我需要all_dict中dict的索引,它与dict1完全相同。
循环是否按顺序进行,以便我可以计算for循环中的迭代次数?

最佳答案

您可以使用enumerate()编写一个函数,生成列表中匹配对象的所有索引:

def findall(lst, value):
    for i, x in enumerate(lst):
        if x == value:
            yield i

您可以将此应用于您的用例,如下所示:
matching_indices = list(findall(all_dicts, dict1))

如果您只是在寻找一个匹配项,list.index()方法就是您所需要的:
matching_index = all_dicts.index(dict1)

关于python - 在词典列表中搜索特定词典的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32206368/

10-11 20:24