【发布时间】:2011-12-05 14:39:28
【问题描述】:
我有 4 个列表
l1 = [('x',20),('y',10),('z',40)]
l2 = [('x',30),('r',90),('z',10),('s',20)]
l3 = [('y',20),('z',40),('x',39)]
l4 = [('s',10),('p',20),('z',20)]
从上面的列表中我想得到第五个列表
l_final = [('x',39),('y',20),('z',40),('r',90),('s',20),('p',20)]
元组中的所有值都是最大值,即在 l_final 列表中,元组 ('x',39) 39 中的值是 x 相关元组的最大值。
另外,我最多可以解决 2 个列表。但无法为 5 个列表执行此操作。 还为此建议任何其他解决方法。
我在这里添加我的代码最多 2 个列表代码
l1 = [('x',142),('y',523),('r',278),('p',5)]
l2 = [('r',156),('y',663),('s',145),('x',867)]
mylist = []
for i in l1:
flag = False
for j in l2:
if i[0]== j[0]:
flag = True
max1 = max(i[1],j[1])
mylist.append((i[0],max1))
if flag == False:
mylist.append((i[0],i[1]))
flag = True
for i in l2:
flag = False
for j in mylist:
if i[0] == j[0]:
flag = True
if flag == False:
mylist.append((i[0],i[1]))
【问题讨论】:
标签: python python-3.x