微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

覆盖附加列表值

如何解决覆盖附加列表值

我对 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 举报,一经查实,本站将立刻删除。