Python-如果一个键不在一个列表中,请附加到另一个列表中
这可能是一个相当简单的问题,但我还没有完全弄清楚 我有两个元组列表 清单A [a',0.033',b',0.030',c',0.020',d',0.010',e',0.005] 清单B [a',0.057',b',0.065',w',0.060',x',0.040',y',0.010] 我想检查列表a中的键是否在列表B中。如果不是,我需要将其附加到列表B中;但该值需要设置为0 因此,上述结果将是: [a',0.057',b',0.065',w',0.060',x',0.040',y',0.010',c',0.000',d',0.000',e',0.000] 谢谢你的帮助 将列表B中的键放入一组,然后使用简单的for循环:Python-如果一个键不在一个列表中,请附加到另一个列表中,python,Python,这可能是一个相当简单的问题,但我还没有完全弄清楚 我有两个元组列表 清单A [a',0.033',b',0.030',c',0.020',d',0.010',e',0.005] 清单B [a',0.057',b',0.065',w',0.060',x',0.040',y',0.010] 我想检查列表a中的键是否在列表B中。如果不是,我需要将其附加到列表B中;但该值需要设置为0 因此,上述结果将是: [a',0.057',b',0.065',w',0.060',x',0.040',y',0.010
A = [('a', 0.033), ('b', 0.030), ('c', 0.020), ('d', 0.010), ('e', 0.005)]
B = [('a', 0.057), ('b', 0.065), ('w', 0.060), ('x', 0.040), ('y', 0.010)]
B_keys = {k for k, _ in B}
for k, _ in A:
if k not in B_keys:
B.append((k, 0.0))
B
#[('a', 0.057),
# ('b', 0.065),
# ('w', 0.06),
# ('x', 0.04),
# ('y', 0.01),
# ('c', 0.0),
# ('d', 0.0),
# ('e', 0.0)]
我很感激!输出的小数位数不正确。嗯,输出中的一个元素应该是'd',0.000,而不是像您的输出那样的'd',0.0。你能解决这个问题吗?@CHENJIAN我相信元组中的第二个元素是浮点数,所以0.0和0.000是一样的?@Psidom好吧,我承认0.0和0.000是一样的,这不是这个问题的关键。但是,如果我想更严格地打印输出,这是一个真正的问题。