我尝试比较两个元组列表,并创建第三个元组列表,其中包含两个元组中的最高值:
b = [(u'eventId', 0), (u'playerId', 0), (u'expandedMinute', 0), \
(u'second', 0), (u'endY', 00.0), (u'teamId', 0), (u'endX', 00.0), (u'y', 00.0), (u'x', 00.0), \
(u'isTouch', 'Null'), (u'id', 0.0), (u'minute', 0)]
c = [(u'expandedMinute', 93), \
(u'second', 47), (u'endY', 67.8), (u'teamId', 32), (u'endX', 91.0), \
(u'y', 83.8), (u'x', 88.1), (u'isTouch', True), (u'id', 2136355953.0), \
(u'minute', 91)]
d={k:c[k] if k in c and c[k]>b[k] else v for k,v in b.items()}
print [(k, v) for k, v in d.items()]
我以前用一对字典做过类似的事情,并且能够使用以“d=”开头的逻辑来实现这个功能,但是它不再适合我目前的情况
所需的输出应该如下所示(前两个元组“eventId”和“playerId”,它们在b中,而不是c中,被添加到元组的最终列表中):
[(u'eventId', 0), (u'playerId', 0), (u'expandedMinute', 93), \
(u'second', 47), (u'endY', 67.8), (u'teamId', 32), (u'endX', 91.0), \
(u'y', 83.8), (u'x', 88.1), (u'isTouch', True), (u'id', 2136355953.0), \
(u'minute', 91)]
在我的场景中,“C”将只包含与“B”相同的或其子集。它永远不会包含额外的元组项
有人能帮我完成代码所需的逻辑吗
谢谢
在全世界看来,元组列表就像键值对一样,它们需要一个^{} 。假设要更新值:
但是如果你坚持要一个元组列表:
相关问题 更多 >
编程相关推荐