【发布时间】:2014-04-18 02:14:59
【问题描述】:
这是一个后续问题:Python: Compare two lists and update value in list2 based on value in list1
我有两个列表:
words = ['vestments', 'absence', 'windless']
prons = ['vEstm@nts', 'abs@nts', 'wIndl@s']
word中符合if条件的项目,处理pron中对应的项目。
例如,如果在word 中的某个项目中找到“less”,则将l@s 更改为lIs。如果在word 中没有发现nts 是字符串的一部分,则将@nts 替换为pron 中的@ns。
我试过了:
for (i, word) in enumerate(words):
if "less" in word:
prons[i] = '\n'.join(prons[i])
prons[i] = prons[i].replace("l@s", "lIs")
if "nts" not in word:
prons[i] = prons[i].replace("@nts", "@ns")
期望的输出:
pron = ['vEstm@nts', 'abs@ns', 'wIndlIs']
但是我的输出是:
pron = ['vEstm@ns', 'abs@ns', 'wIndlIs']
如果有条件,我的“nts”中的代码似乎完全没有读取,任何提示将不胜感激。
【问题讨论】:
-
请用单词描述它应该做什么。谢谢
-
这里的逻辑到底是什么?
-
一个问题(您向我们展示的内容)是您将列表命名为
word和pron,但遍历words和prons。 -
@sshashank124 感谢您的反馈,已编辑。
-
当我运行此代码时,我得到的结果与您在此处发布的结果不同。 (我从编写的代码中得到了我期望的结果。)你搞混了。