问题描述
我对 Python 和编码很陌生。
我尝试将子列表附加到列表中。我最初被抛弃了,因为列表似乎附加了我想要的所有值,但这些值是 [2,1] 的最终值。
使用以下代码
next_state = [0,0]
def create_a_path(current_state):
possible_moves = [(2,0),(1,1),(2,0)]
state_list = []
for pm in possible_moves:
#next_state = [0,0] # this solves the issue
next_state[0] = current_state[0] + pm[0]
next_state[1] = current_state[1] + pm[1]
print(pm)
print(next_state)
state_list.append(next_state)
return state_list
current_state = [1,1]
print(create_a_path(current_state))
我认为我的子列表会被追加,一旦有另一个循环,子列表就会被更新,然后追加而不覆盖之前的附加值。
代码行的简单更改(如注释)解决了这个问题,但我很困惑为什么。
谁能给我解释一下这是为什么?也许我遗漏了一些关于追加、循环或更多的基本知识?提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)