gpt4 book ai didi

python - 合并两个 Python 元组列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:24 26 4
gpt4 key购买 nike

我有两个元组列表。每个元组包含一个日期时间对象和一个浮点对象,即:

l1 = [(dt1), 1.0), (dt2, 2.0), (dt3, 3.0)]
l2 = [(dt1), 1.0), (dt3, 3.0), (dt5, 6.0)]

这两个列表已按每个元组的日期时间排序。

合并两个列表的快速方法是什么?

这两个列表可能不包含相同的日期时间。如果一个列表中存在一个 dt,但另一个列表中不存在,则缺失值可能为 ''

例如,我想使用上面的两个列表来生成

l = [(dt1), 1.0, 1.0), (dt2, 2.0, ''), (dt3, 3.0, 3.0), (dt5, '', 6.0)]

我猜也许我应该使用一本以 dt 作为键的字典,然后再使用,但是那看起来很浪费。

还有其他想法吗?

谢谢

最佳答案

l1 = [("a", 1.0), ("b", 2.0), ("c", 3.0)]
l2 = [("a", 1.0), ("c", 3.0), ("d", 6.0)]


i1 = 0
i2= 0
l = []
while i1 != len(l1) or i2!=len(l2):
print i1,i2
if ((i1<len(l1))and(i2<len(l2))) and l1[i1] ==l2[i2]:
l.append((l1[i1][0],l1[i1][1],l2[i2][1]))
i1 +=1
i2+=1
elif ((i1<len(l1)and i2<len(l2)) and l1[i1] <l2[i2]) or (i1<len(l1)and i2>=len(l2)):
l.append((l1[i1][0],l1[i1][1],""))
i1 +=1

elif ((i2<len(l2)and i1<len(l1)) and l1[i1] >l2[i2])or (i1>=len(l1)and i2<len(l2)):
l.append((l2[i2][0],l2[i2][1],""))
i2 +=1

我想我现在也修复了边缘情况。

关于python - 合并两个 Python 元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com