我正在从事我的第一个编码项目,即制作一个文本编码器。完成后,我计划制作与之配对的解码器。目前,我无法将两个列表合并/重叠。如果我要展示的内容有一个引用它的实际名称,我深表歉意,我是编码新手,仍在学习很多东西。
list1 = [20.0, 'X', 'X', 46.0, 0.0, 18.0, 'X', 40.0]
list2 = ['Y', 31.0, 45.0, 'Y', 'Y', 'Y', 47.0, 'Y']
我需要的输出是:
list3 = [20.0, 31.0, 45.0, 46.0, 0.0, 18.0, 47.0, 40.0]
两个列表都有相同数量的值,我需要将它们组合成一个列表,保持数字当前的顺序,并完全消除“X”和“Y”。
最佳答案
在列表理解中使用 zip
和 isinstance
:
list1 = [20.0, 'X', 'X', 46.0, 0.0, 18.0, 'X', 40.0]
list2 = ['Y', 31.0, 45.0, 'Y', 'Y', 'Y', 47.0, 'Y']
list3 = [x if isinstance(x, float) else y for x, y in zip(list1, list2)]
# [20.0, 31.0, 45.0, 46.0, 0.0, 18.0, 47.0, 40.0]
关于python - 如何将两个列表合并为一个,同时更改某些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56862059/