Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如果一个键不在一个列表中,请附加到另一个列表中_Python - Fatal编程技术网

Python-如果一个键不在一个列表中,请附加到另一个列表中

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]

我想检查列表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循环:

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是一样的,这不是这个问题的关键。但是,如果我想更严格地打印输出,这是一个真正的问题。