python - 如何将两个列表合并为一个,同时更改某些值?

标签 python list

我正在从事我的第一个编码项目,即制作一个文本编码器。完成后,我计划制作与之配对的解码器。目前,我无法将两个列表合并/重叠。如果我要展示的内容有一个引用它的实际名称,我深表歉意,我是编码新手,仍在学习很多东西。

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”。

最佳答案

在列表理解中使用 zipisinstance:

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/

相关文章:

python - Python 中的列表(使用 NLTK)

python - 通过修改 python3 中的特定正则表达式来捕获重音字符

Python 类属性 vs 元类 vs 类变量

带有图像和标签的html水平列表

Python - 计数符号变化

c++ - C2676实现结构列表时发生编译错误

php - 是否有与 TCPDF 的 'annotate' 函数等效的 python ReportLab?

python - 将 Django OAuth2 提供程序与 JupyterHub 结合使用

python - 检查用户是否已在 python 中使用 selenium 成功登录

list - 如何创建一个输出列表(不是表格)的对象