Python:附加/扩展方法

问题描述 投票:0回答:4

有人可以解释一下为什么在for循环之后,列表res是['m']吗?

string = 'spam'
for x in string:
    res =[]
    res.extend(x)
print(res)

我期望输出为res = ['s', 'p', 'a', 'm']

python append
4个回答
1
投票

您正在替换列表对象循环的每个步骤


0
投票

您每次在循环内都要重置res。您需要使用此-


0
投票

您将永远不会获得该输出,因为对于循环的每次迭代,您都需要设置res = [],因此,通过使用'm'扩展空白列表,只有最后一次迭代才能起作用。


0
投票

您总是在for循环中重新初始化res列表,这就是为什么在循环的最后一次迭代中,该列表被初始化为[]一个空列表并向其添加最后一个字母。] >

string = 'spam'
res =[]
for x in string:
    res.extend(x)
print(res)
© www.soinside.com 2019 - 2024. All rights reserved.