相关疑难解决方法(0)

如何在Python列表中切换两个项目的位置?

我无法在网上找到这个问题的好解决方案(可能因为交换机,位置,列表和Python都是这样的重载词).

这很简单 - 我有这个清单:

['title', 'email', 'password2', 'password1', 'first_name', 'last_name', 'next', 'newsletter']
Run Code Online (Sandbox Code Playgroud)

我想切换的位置'password2''password1'-不知道他们的确切位置,只知道他们是对彼此相邻并password2是第一.

我用一些相当冗长的列表下标来完成这个,但我想知道它可能会提出一些更优雅的东西吗?

python list

193
推荐指数
4
解决办法
27万
查看次数

理解 Python 交换:为什么 a, b = b, a 并不总是等价于 b, a = a, b?

众所周知,pythonic 的方式来交换两个项目的值,a并且b

a, b = b, a
Run Code Online (Sandbox Code Playgroud)

它应该相当于

b, a = a, b
Run Code Online (Sandbox Code Playgroud)

但是,今天在写代码的时候,无意中发现下面的两个swap给出了不同的结果:

nums = [1, 2, 4, 3]
i = 2
nums[i], nums[nums[i]-1] = nums[nums[i]-1], nums[i]
print(nums)
# [1, 2, 4, 3]

nums = [1, 2, 4, 3]
i = 2
nums[nums[i]-1], nums[i] = nums[i], nums[nums[i]-1]
print(nums)
# [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

这对我来说令人难以置信。有人可以向我解释这里发生了什么吗?我认为在 Python 交换中,这两个任务同时且独立地发生。

python indexing swap list python-3.x

164
推荐指数
5
解决办法
2万
查看次数

如何在for循环期间修改列表条目?

现在我知道在迭代循环期间修改列表是不安全的.但是,假设我有一个字符串列表,我想自己去除字符串.替换可变值是否算作修改?

python

150
推荐指数
5
解决办法
21万
查看次数

标签 统计

python ×3

list ×2

indexing ×1

python-3.x ×1

swap ×1