首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表元素交换未按预期工作

问Python列表元素交换未按预期工作
EN

Stack Overflow用户
提问于 2020-05-06 20:50:25
回答 1查看 210关注 0票数 2

我写了一个简单的代码,两个在列表中交换两个项目,使用非常基本的:

代码语言:javascript
复制
a, b = b, a

代码如下所示:

代码语言:javascript
复制
nums[i], nums[nums[i] - 1] = nums[nums[i] - 1], nums[i]

上面的交换导致了一个无限循环,其中条目在列表中重复,因此无法交换。但将其修改为以下内容:

代码语言:javascript
复制
nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]

交换是否因为交换变量的顺序而不起作用。

如果是这样的话,它是如何逻辑的?我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-06 21:51:17

代码语言:javascript
复制
def swap(index1, index2, list_):
    a, b = list_[index1], list_[index2]
    list_[index1], list_[index2] = b, a
    return list_

可以使用这样的函数,传入列表和要交换的项目的列表索引,然后返回交换的项目的列表。对此可能有更短的解决方案,但这绝对是一种方法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61635677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档