我试图用同一索引中列表B中的元素替换列表A中的任何“-”实例。现在我的输出根本没有修改列表A,所以我怀疑我的for循环正在处理一个副本。在
A = [ ["dog", ["corgi",'-',"labrador"]], ["cat", ["tabby","persian",'-']] ]
B = ["BLANK 1","BLANK 2","BLANK 3"]
i = 0
for one,two in zip(A[i][1],B):
if one == '-':
one = two
i += 1
print(A)
我希望我的输出(即修改后的列表A)如下所示:
^{pr2}$非常感谢你们对我的指导!在
是的,}。在
for
循环只将zip()
创建的值从列表分配到变量one
和{相反,你可以这样做:
由于列表是通过引用传递的,因此外部
for
循环分配的sublist
仍将引用A
引用的相同列表。在为了执行如此复杂的操作,我们可以将其分解为更简单的操作。在最简单的层次上,我们希望用另一个字符串替换短划线(-):
下一步是将
^{pr2}$["corgi",'-',"labrador"]
替换为["corgi",'BLANK 2',"labrador"]
:最后,我们来看看全局:
您需要压缩整个列表,然后在循环中进行取消引用。在
相关问题 更多 >
编程相关推荐