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

编程两个列表

发布时间: 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]


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

热点内容
手机看wifi密码怎么看 发布:2024-11-20 14:32:39 浏览:793
l2级别安全配置都有哪些配置 发布:2024-11-20 14:31:02 浏览:772
明日之后服务器怎么那么多 发布:2024-11-20 14:29:59 浏览:143
html5开发源码下载 发布:2024-11-20 14:24:52 浏览:215
安卓系统锁了怎么刷机 发布:2024-11-20 14:22:40 浏览:737
php生成网页图片 发布:2024-11-20 14:17:30 浏览:967
java编译servlet 发布:2024-11-20 13:49:48 浏览:807
线程结束源码 发布:2024-11-20 13:39:42 浏览:839
串行存储器编成器软件 发布:2024-11-20 13:35:46 浏览:807
电脑哪些配置功耗高 发布:2024-11-20 13:21:28 浏览:353