从集合中获取词典的Pythonic方法

从集合中获取词典的Pythonic方法,python,python-3.x,Python,Python 3.x,我已经设置了,some_set={'A','B','C'} 我想把它变成这样一本字典: my_dict={'A':{'B','C'},'B':{'A','C'},'C':{'A','B'} 即集合字典,其中每个键都映射到一个集合,该集合包含原始集合中除键本身以外的所有元素 我现在所拥有的: 某些字母集合中字母1的 对于某些_集合中的字母_2: 如果字母1不在我的字典键()中: 我的字典[字母1]=集合() 如果字母_2!=信1: 我的遗嘱[letter_1]。添加(letter_2) 我要找的

我已经设置了,
some_set={'A','B','C'}


我想把它变成这样一本字典:
my_dict={'A':{'B','C'},'B':{'A','C'},'C':{'A','B'}

即集合字典,其中每个键都映射到一个集合,该集合包含原始集合中除键本身以外的所有元素

我现在所拥有的:

某些字母集合中字母1的

对于某些_集合中的字母_2:
如果字母1不在我的字典键()中:
我的字典[字母1]=集合()
如果字母_2!=信1:
我的遗嘱[letter_1]。添加(letter_2)
我要找的是:
这是最好的方法吗?有没有更通俗的方法来达到我的目的?

一个简单的词典理解:

>>> 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'}}
>>>

如果字母1不在my_dict.keys()中(
),则生成的(值)集很容易根据键和原始集进行计算。你为什么需要字典?或者,
{k:some_set.difference(k)for k in some_set}
@juanpa.arrivillaga
…difference([k])
。因为
k
是一个长度为1的字符串,所以您的代码会意外工作。@Ayush在这种情况下它应该做什么?@AKX实际上,不必担心。这也许更适合另一个问题。干得好,谢谢!