【发布时间】:2021-07-23 15:38:51
【问题描述】:
我正在尝试创建一个 python 脚本。
我有两个列表。
如果列表中的项目1
==[](空列表) 要么 =="Pxxx-xx"
那么它必须替换为第二个列表中相同索引的项目。
所以:
list1 =["P324-12","P321-01","Pxxx-xx",[],"P134-23"]
list2 =["A00","A01","A02","A03","A04"]
那么输出应该是:
out=["P324-12","P321-01","A02","A03","P134-23"]
现在我得到了这个工作:
list1 = IN[0]
replacement = IN[1]
out = []
for itm in list1:
if itm == [] or itm == "Pxxx-xx":
out.append(replacement)
else:
out.append(itm)
#Assign your output to the OUT variable.
OUT = out
但这只会用单个项目替换它,而不是替换列表中的项目。
现在我试过了:
list1 = IN[0]
list2 = IN[1]
out = []
for idx, itm in enumerate(list1):
if itm == [] or itm == "Pxxx-xx":
out.append(list2[idx])
else:
out.append(itm)
#Assign your output to the OUT variable.
OUT = out
但我收到警告:“IronPythonEvaluator.EvaluateIronPythonScript 操作失败。 unindent 不匹配任何外部缩进级别”
【问题讨论】:
-
您的第二次尝试看起来不错;我无法重现错误。
标签: python list indexing replace