我有一个元组。我想将该结构转换为一个字典,该字典具有作为键的元组和作为值的元组-看起来像(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):('')
}
答案 0 :(得分:0)
我相信您应该为此编写适当的for循环。只要“键”是元组中的前两个元素,类似的东西就应该起作用
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()}