【发布时间】:2020-11-05 22:54:18
【问题描述】:
我有一个字典列表,每个键映射到列表
[ {28723408: [28723409]},
{28723409: [28723410]},
{28723410: [28723411, 28723422]},
{28723411: [28723412]},
{28723412: [28723413]},
{28723413: [28723414, 28, 28723419]}]
我想创建映射到每个列表值的元组键列表:
[(28723408, 28723409),
(28723409, 28723410),
(28723410, 28723411),
(28723410, 28723422),
(28723411, 28723412),
(28723412, 28723413),
(28723413, 28723414),
(28723413, 28),
(28723413, 28723419),]
我是按照以下方式完成的:
for pairs in self.my_pairs:
for source, targets in pairs.items():
for target in targets:
pair_list.append((source, target))
有更多的 Pythonic 方式吗?
【问题讨论】:
-
我尝试过的所有花哨的 oneliners 的可读性都比你做的要差。
-
您的字典列表中的键是否已知不同,否则会发生什么?
-
@guidot,他们没有区别。我只需要制作不需要过滤器的映射。
-
每个字典是否只有一个键?
-
@RiccardoBucco,请不要做这个假设。
标签: python dictionary