python - 从集合中获取字典的 Pythonic 方法
问题描述
我已经设置了,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)
我在寻找什么:这是最好的方法吗?有没有更蟒蛇的方式来实现我想要的?
解决方案
一个简单的字典理解:
>>> 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'}}
>>>
推荐阅读
- python - 如何在python中使函数数组可调用
- selenium - Docker 上的 Selenium GRID 部署 - 哪些容器?
- excel - 如何比较两个工作表的列,突出显示相同的值#code
- csv - 按行数拆分 CSV 并保留标题
- c# - 使用 C# 创建的出站呼叫,但呼叫没有铃声并断开连接
- c# - 启动时的 aspboilerplate 调用服务
- javascript - 在多个画板中复制图层 - Photoshop 2019
- python - 代码在空闲状态下工作,但在 VS Code 中出现错误
- jquery - 具有切换持续时间的动画 jquery 过滤器
- python - 仅获取 https 链接