【发布时间】:2022-07-08 01:12:00
【问题描述】:
考虑以下两个列表
list_1 = [(288645, [300]),
(249594, [300, 305]),
(288647, [300, 310]),
(249587, [300])]
list_ 2 = [(290, [786020, 601157, 827251]),
(300, [814888, 829081, 365044]),
(305, [781169, 826323]),
(310, [819361, 639450])]
需要注意的一些重要事项:
list_1 按list_1[1] 排序:
list_1 = sorted(list_1_dict.items(), key=lambda item: item[1])
list_2在list_2[0]中排序
list_1 = sorted(list_2_dict.items(), key=lambda item: item[0])
对于这两个列表,这里是 list_dict 的示例
list_dict = {288645: [300], 249594: [305, 300], 385623: [30563]}
此外,对于两个列表,list[0] 始终是单个元素
我想创建一个连接,其中list_1[1] 中的元素与list_2[0] 中的元素匹配。在我们的例子中,临时结果是这样的:
list_3 = [(288645, [814888, 829081, 365044]),
(249594, [814888, 829081, 365044]),
(288647, [814888, 829081, 365044]),
(249587, [814888, 829081, 365044])]
我遇到的一些问题是任一列表中的两个元素都可以多次到达。所以使用流行的排序合并连接(因为列表已经排序)是行不通的。检查一个元素是否大于另一个元素会忽略我的想法。 我正在考虑完全改变结构,因为这可能会让人头疼。有什么想法或建议吗?
【问题讨论】:
-
您的代码引用了一个未定义的
list_1_dict。请添加。