我有两个表,表中的一个:追加字符,列出项目,如果它在另一个列表中找到
lst = [">ctgxxxx1/n", "aatttata", ">ctgxxxx2/n", "attggag", ">ctgxxxx3/n", "ggagttata"]
和另一形式
ATP6 = [ ">ctgxxxx1/n", ">ctgxxxx3/n"]
对于每一个项目,在lst
是也发现在ATP6
我想追加“ATP6”到lst
项目的末尾。在这个例子中,我想代码的输出是:
lst = [">ctgxxxx1ATP6/n", "aatttata", ">ctgxxxx2/n", "attggag", ">ctgxxxx3ATP6/n", "ggagttata"]
目前,我有以下代码:
for x in lst:
if x.startswith(">"):
if x in ATP6:
x = x+"ATP6"
然而,这心不是说完全没有任何影响。
我认为它不工作,因为我有一个嵌套的if语句,但林不知道。以及一个答案,我可以解释为什么我的代码不起作用来帮助我学习。谢谢!
这已经被问了很多次,但很难找到DUP。问题是你正在改变变量'x'而不是原始列表项。迭代索引并使用其索引更改项目。如果列表包含可变对象并且您在'x'上执行了就地操作,那将会是一种不同的情况。 –