python 列表元素位置互换_python 中交换两个列表元素的位置为什么用numbers[i],numbers[i+1] = numbers[i+1],numbers[i]...

展开全部

numbers[i], numbers[i+1] = numbers[i+1], numbers[i]

这是一个赋值语句,相当于:

t = (numbers[i+1], numbers[i])   # t是一个tuple元组

numbers[i] = t[0]

numbers[i+1] = t[1]

例如:numbers = [5, 6, 7]

i = 0 时

赋值时就是把 numbers[i], numbers[i+1] = numbers[i+1], numbers[i] 这个语句中

等号右边的 numbers[i+1], numbers[i]先求值32313133353236313431303231363533e78988e69d8331333361316632,得

numbers[1] == 6

numbers[0] == 5

再把 6, 5 赋值给等号左边(因为list列表是 可变的数据类型,它的值可以添加,删除或改变),即:

numbers[i], numbers[i+1] = 6, 5

也就是:

numbers[0], numbers[1] = 6, 5

相当于:

numbers[0] = 6

numbers[1] = 5

此时,列表numbers 的值就被改变了(两个元素交换了位置)。

在IDLE 中验证如下:

>>> numbers = [5, 6, 7]

>>> i = 0

>>> numbers[i], numbers[i+1] = numbers[i+1], numbers[i]

>>> numbers

[6, 5, 7]

最后你的问题表述【交换两个列表元素的位置】改成【交换列表中两个元素的位置】是不是更没有歧义?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值