【发布时间】:2016-02-22 18:19:58
【问题描述】:
我已经搜索过,但找不到任何有用的东西...我希望有人可以帮助我。
我有 3 个列表:
a = [(1), (7), (3), (1)]
b = [(2), (4), (7), (4)]
c = [(8), (1), (3), (3)]
当时我在想我可以把它们变成元组:
ab = [(1,2), (7,4), (3,7), (1,4)]
bc = [(1,2,8), (7,4,1), (3,7,3), (1,4,3)]
然后我终于可以把它变成一个有序的 dict 的唯一元组,其中每个元组的第一个元素是键,在重复键的情况下,元组中的下一个最大元素打破平局:
(我不确定,但这段代码可能有效):
print(dict(sorted(ab, key=lambda x: (x[0], x[1]))))
留下({1:4, 3:7, 7:4})
并且还以某种方式在bc中打印匹配项。
为了更清楚:
打印出来:
1,4,3 # not 1,2,8 as 4 > 2
3,7,3
7,4,1
通过从元组ab 中获取(1,4) 并在bc 中找到它,然后打印bc。
【问题讨论】:
-
不确定您的问题到底是什么?
-
请编辑问题以显示您的预期输出。
-
我有,希望我的编辑有所帮助。在我完成问题之前,我不小心按了“提问”。对不起。 @MartinEvans
-
为什么数字周围有括号?
-
你应该有一个元素元组还是你的列表中有什么?还有
({1:4, 3:7, 7:4})是怎么来的?
标签: python list dictionary tuples