首页 > 解决方案 > 如何从字典python中获取键和值

问题描述

我有我的字典,如下所示

my_dict = {4: 8, 3: 11, 4: 10, 5: 10, 8: 5, 9: 5, 10: 10, 5: 2}

我试图弄清楚如何key == value在迭代值成为键时以及何时获取排序列表。那么结果是

[[2,5,4,8],[10]]

有任何想法吗?

标签: pythondictionaryif-statementkeykey-value

解决方案


这对你有用吗:

my_dict = {1: 3, 4: 2, 2: 6, 10: 10}

loop_backs = set()
new_dict = my_dict.copy()
for k,v in my_dict.items():
    if k == v:
        loop_backs |= {k}
        del new_dict[k]
repeated = set(new_dict.values()).intersection(new_dict.keys()) | loop_backs
res = set()
for k,v in new_dict.items():
    if (k in repeated) or (v in repeated):
        res |= {k,v}
print(res, loop_backs)

{2、4、6} {10}


推荐阅读