python - 将短列表中的值插入长列表
问题描述
我遇到的问题是我想将候选列表中的值插入到特定位置的较长列表中,所以我们有 List1 和 List2
List1 = [10, 20, x, 50, x 100, 20, x]
List2 = [99, 88, 111]
在 List1 的 x 位置上,我想从 List2 插入一个值(以相同的顺序)。得到如下的最终结果:
List_result = [10, 20, 99, 50, 88, 100, 20, 111]
我试图迭代不同的列表,但到目前为止还没有取得任何进展。我希望有人可以帮助我!
先感谢您
解决方案
一种方法是遍历第一个列表并将元素与x
第二个列表中的索引匹配并替换为:
List1 = [10, 20, 'x', 50, 'x', 100, 20, 'x']
List2 = [99, 88, 111]
i = 0
for indx, l1 in enumerate(List1):
if 'x' == l1 :
List1[indx] = List2[i]
i += 1
print(List1)
输出:
[10, 20, 99, 50, 88, 100, 20, 111]
编辑:
创建新列表的另一种方法:
new_lst = []
for x in List1:
if x != 'x':
new_lst.append(x)
else:
for y in List2:
new_lst.append(y)
print(new_lst)
推荐阅读
- c# - C# gremlin 服务器实现
- python - 如何强制我的代码执行下一个 for 循环?
- python - 为什么它不能正确地从 json 中增加一个整数?
- python - 升级 python/django 时列表索引超出范围
- jquery - jQuery如何附加“
- rotation - 如何让Real value在Modelica的范围内流通?
- reactjs - 从循环中将反应组件附加到 dom 元素
- php - Leaflet Map v1.6.0 无法加载 SVG 图标背景图片
- sql - 根据条件创建额外的列(总和时的情况)
- java - 无法使用 java 插入视频 youtube