【发布时间】:2019-12-15 05:01:49
【问题描述】:
我有以下两个列表
list_1
[('Person A', [(6, "example.com/h"), (1, "example.com/xqz"), (7, "example.com/abc"), (9, "example.com/efg")]),
('Person B', [(4, "example.com/a"), (5, "example.com/rrr"), (1, "example.com/ddd"), (4, "example.com/nnn")]),
('Person C', [(3, "example.com/g"), (1, "example.com/qqq"), (7, "example.com/fff"), (3, "example.com/vvv")])]
list_2
['2', '6', '2', '23', '2', '6', '9', '25', '2', '5', '7', '19']
list_1 包含属于个人的数据计数以及数据来自的超链接。 list_2 包括我想分别附加到 list_1 中的其他数字
dict 格式的愿望结果是这样的:
{'Person A': [((6, "example.com/h"), '2'), ((1, "example.com/xqz"), '6'), ((7, "example.com/abc"), '2'), ((9, "example.com/efg"), '23')],
'Person B': [((4, "example.com/a"), '2'), ((5, "example.com/rrr"), '6'), ((1, "example.com/ddd"), '9'), ((4, "example.com/nnn"), '25')],
'Person C': [((3, "example.com/g"), '2'), ((1, "example.com/qqq"), '5'), ((7, "example.com/fff"), '7'), ((3, "example.com/vvv"), '19')]}
我最初的想法是简单地使用 zip 来获得我想要的结果,但我得到的结果不正确:
{'Person A': [((6, "example.com/h"), '2'), ((1, "example.com/xqz"), '6'), ((7, "example.com/abc"), '2'), ((9, "example.com/efg"), '23')],
'Person B': [((4, "example.com/a"), '2'), ((5, "example.com/rrr"), '6'), ((1, "example.com/ddd"), '2'), ((4, "example.com/nnn"), '23')],
'Person C': [((3, "example.com/g"), '2'), ((1, "example.com/qqq"), '6'), ((7, "example.com/fff"), '2'), ((3, "https://xxx./vvv"), '23')]}
sample_dict = dict()
for i in list_1:
result = list(zip(i[1], list_2))
sample_dict[i[0]] = result
print(sample_dict)
试图了解我在哪里做错了,还有什么其他好的方法可以做到这一点。任何帮助将不胜感激
【问题讨论】:
-
第一个列表来自哪里?你能分享更多你的代码吗? dict 是个好主意,但我会在你的程序中更早地创建它。此外,只是试图打印这两个列表会给我一个语法错误。
-
在代码之上,一些关于一般数据格式的细节可能会很有用。这里有多种可能的解决方案,哪一种最好取决于数据。
-
@AlexanderCécile - 谢谢,第一个列表来自两个不同的数据点。我首先将它们以 dict 格式组合,但我需要按特定顺序对它们进行排序,其中人 A 总是需要成为第一个,依此类推。所以我转换为列表。关于语法错误,您看到了什么错误?我刚刚尝试了我共享的上述列表,一切正常。再次感谢您的帮助
-
你能详细说明这两个来源是什么吗?每个人的计数和超链接对的数量是否相同?
-
我遇到了一个错误,因为,请打鼓........我的变量名不小心包含了一个空格!