我试图创建一个python脚本,在每次迭代时从dict中的列表中选择下一项,并用当前项替换文本中的键。但是,问题是它不会返回与由变量设置的整数匹配的列表项。你知道吗
代码:
for x in range(0,runs):
for k,v in shortcodes.iteritems():
description = description.replace('{'+k+'}', v[x])
print description
只是继续用第一个列表项替换文本中的键值,而不是递增。如果我手动删除x
并将其设置为更高的整数,它将正确响应。同样,出于理智的考虑,打印x
的过程证实了x
正在增加。你知道吗
那么,为什么它要忽略x
而保持0
?你知道吗
在代码中,for循环只会在第一次迭代中替换关键字。所有其他迭代都没有关键字可替换,因为您已将它们全部替换为valueitem的第一个元素。你知道吗
我认为一个更有希望的解决方案是这样的
现在您可以为每个键创建一个值列表,而不是相反, 由于您想用一个或多个值来更改每个关键字,所以只替换要更改的子字符串。使用
find()
可以得到实际字符串中子字符串的最低索引的位置。使用len()
可以得到parametervalue的长度相关问题 更多 >
编程相关推荐