Skip to main content
 首页 » 编程设计

python之合并两个列表列表之Python

2025年05月04日11zhwl

这是一本很棒的入门书,但没有满足我的需要: Combining two sorted lists in Python

我有两个 Python 列表,每个列表都是日期时间、值对:

list_a = [['1241000884000', 3], ['1241004212000', 4], ['1241006473000', 11]] 

和:

list_x = [['1241000884000', 16], ['1241000992000', 16], ['1241001121000', 17], ['1241001545000', 19], ['1241004212000', 20], ['1241006473000', 22]] 
  1. 实际上有许多 list_a 列表具有不同的键/值。
  2. 所有 list_a 日期时间都在 list_x 中。
  3. 我想制作一个列表 list_c,对应于每个 list_a,每个 list_a 都有来自 list_x 和 value_a/value_x 的每个日期时间。

奖励:

在我的真实程序中,list_a 实际上是字典中的一个列表,就像这样。将答案提升到字典级别将是:

dict = {object_a: [['1241000884000', 3], ['1241004212000', 4], ['1241006473000', 11]], object_b: [['1241004212000', 2]]} 

不过我可以弄清楚那部分。

请您参考如下方法:

这里有一些代码可以完成您的要求。您可以直接将您的配对列表变成字典。然后可以通过将 key 集相交来找到共享的 key 。最后,在给定一组共享 key 的情况下,构建结果字典很容易。

dict_a = dict(list_a) 
dict_x = dict(list_x) 
 
shared_keys = set(dict_a).intersection(set(dict_x)) 
 
result = dict((k, (dict_a[k], dict_x[k])) for k in shared_keys)