【问题标题】:Inconsistent swapping in pythonpython中的不一致交换
【发布时间】:2020-06-06 12:39:49
【问题描述】:

我不明白为什么在以下示例中 python 交换的工作方式不同。有人可以解释一下吗?我正在使用 python 3.6.9。

i = 0
perm = [2, 0, 1, 3]
perm[i], perm[perm[i]] = perm[perm[i]], perm[i]
print(perm)
[1, 2, 1, 3]

perm = [2, 0, 1, 3]
perm[perm[i]], perm[i] = perm[i], perm[perm[i]]
print(perm)
[1, 0, 2, 3]

【问题讨论】:

标签: python-3.x


【解决方案1】:

在python中,a,b = b,a 表示 t = 一个; a = b; b = t; 依次。在第二种情况下,它交换索引 0 和索引 2 处的值。
第一种情况,给perm[i]赋值后,perm[i]变成了1,所以下一步就是把索引0处的值赋值给索引1。

【讨论】:

    猜你喜欢
    • 2020-03-30
    • 2011-04-02
    • 2021-10-31
    • 2020-12-05
    • 2011-09-04
    • 1970-01-01
    相关资源
    最近更新 更多