我已经设置了,some_set = {'A', 'B', 'C'}
我想把它变成这样的字典:
my_dict = {'A':{'B','C'}, 'B':{'A','C'}, 'C':{'A','B'}}
即集合字典,其中每个键都映射到一个集合,该集合包含原始集合中除键本身之外的所有元素。
我现在拥有的:
for letter_1 in some_set
for letter_2 in some_set:
if letter_1 not in my_dict.keys():
my_dict[letter_1] = set()
if letter_2 != letter_1:
my_dict[letter_1].add(letter_2)
我要找的是: 这是最好的方法吗?是否有更 Pythonic 的方式来实现我想要的?
最佳答案
一个简单的字典理解:
>>> some_set = {'A', 'B', 'C'}
>>> my_dict = {k: some_set - {k} for k in some_set}
{'A': {'B', 'C'}, 'B': {'A', 'C'}, 'C': {'A', 'B'}}
>>>
关于从集合中获取字典的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63112421/