如何将元组转换成字典(元组作为键和元组值)?

2024-06-29 00:57:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个元组。我想把这个结构转换成一个字典,它以tuple作为键,tuple作为值-看起来像(first, second):(first, second,...)但是值的数量不是恒定的。它可以是一个值、五个值或一个空元组。你知道吗

我的部分数据集如下所示:

(
(CityA, CodeA, Street1A),(CityA, CodeA, Street2A),(CityA, CodeA, Street3A), 
(CityA, CodeB, Street1B),(CityA, CodeB, Street2B),
(CityB, CodeC, '')
)

我的意思是对相同的城市和代码进行分组(这很重要,因为两个同名的不同城市有不同的代码和街道)以及元组中的街道-参见下面的示例:

{
(CityA, CodeA):(Street1A, Street2A, Street3A),
(CityA, CodeB):(Street1B, Street2B),
(CityB, CodeC):('')
}

Tags: 代码codecfirst元组secondtuplecityacityb
1条回答
网友
1楼 · 发布于 2024-06-29 00:57:55

我认为你应该为这个写一个合适的for循环。只要“keys”是元组中的前两个元素,这样的方法就可以了

result = dict()
for line in data:
  key, value = line[:2], line[2:]
  if key not in result:
    result[key] = list()
  reuslt[key].append(value)

如果需要将值作为元组而不是列表,只需添加:

result = {k: tuple(v) for k, v in result.items()}

相关问题 更多 >