当前位置:首页 » 编程软件 » 编程两个列表

编程两个列表

发布时间: 2023-08-30 08:43:20

A. 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] 先求值,得

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]


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

热点内容
密码锁用密码打不开是什么原因 发布:2025-03-14 12:31:25 浏览:195
低温存储测试 发布:2025-03-14 12:10:22 浏览:244
c语言二维数组的输出 发布:2025-03-14 11:58:10 浏览:25
安卓脚本自动运行 发布:2025-03-14 11:49:35 浏览:354
yii页面缓存 发布:2025-03-14 11:45:51 浏览:798
c语言算法书 发布:2025-03-14 11:45:26 浏览:264
安卓动漫插件在哪里 发布:2025-03-14 11:41:11 浏览:660
linux复制系统文件到 发布:2025-03-14 11:29:45 浏览:40
腰2椎体压缩性骨折多久能干活 发布:2025-03-14 11:29:34 浏览:168
脚本挖图全自动 发布:2025-03-14 11:28:51 浏览:77