python列表的值将发生更改
我有一个字符串处理函数,它有3个参数:python列表的值将发生更改,python,Python,我有一个字符串处理函数,它有3个参数: String1,ex:“A” 第2条,例如:“B” python字符串列表 用例:迭代元组(字符串)列表以传递上述函数的前2个参数,并在整个迭代过程中(包含字符串当前配置的python列表不应更改) 代码: 错误是在一次迭代后,字符串函数的第三个参数更改为postchangeList(字符串处理函数的输出)。任何关于如何阻止列表更改的建议。您的函数正在修改输入列表,因此请继续向其传递stateConfig的新副本。请记住,字符串是不可变的,因此您可能不需要
错误是在一次迭代后,字符串函数的第三个参数更改为postchangeList(字符串处理函数的输出)。任何关于如何阻止列表更改的建议。您的函数正在修改输入列表,因此请继续向其传递
stateConfig
的新副本。请记住,字符串是不可变的,因此您可能不需要深度副本:
for each in inputList:
postchangeList = stackBlockfouser(*each, stateConfig[:])
我还冒昧地在循环变量上使用了星形展开。如前所述,可能:
def stackBlockforuser(first, second, your_list):
new_list = your_list[:] # or list(your_list)
...
除非您为
stackBlockforuser
提供代码,否则我们不知道发生了什么。@Prune整个代码太大。此外,在迭代过程中,python列表的值发生了变化,这一问题给我留下了深刻的印象。因此,我在通过记录者确认后给出了这个片段,这就是问题的根源。我从一位绅士那里得到了我想要的确切答案。因此,如果你觉得你贡献了什么,请评论或回复帖子,或者请离开我的帖子。
def stackBlockforuser(first, second, your_list):
new_list = your_list[:] # or list(your_list)
...