鱼C论坛

 找回密码
 立即注册
查看: 1406|回复: 8

[已解决]数组位置互调,不明白

[复制链接]
发表于 2018-1-26 15:23:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这种位置互调不理解
最佳答案
2018-1-26 15:28:58
这相当于互换了内存指向区域

为什么这样写也可以位置互调

为什么这样写也可以位置互调
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-26 15:28:58 | 显示全部楼层    本楼为最佳答案   
这相当于互换了内存指向区域
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 15:29:12 | 显示全部楼层
就是写成一行了,正常两行是这样的:
  1. name[1] = name[3]
  2. name[3] = name[1]
复制代码

这个就明白了吧,赋值而已。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 15:29:56 | 显示全部楼层
python中允许这样直接交换两个数的值,比如
  1. >>> a=1
  2. >>> b=2
  3. >>> a,b = b,a
  4. >>> a
  5. 2
  6. >>> b
  7. 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 15:30:07 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-26 15:32:47 | 显示全部楼层
新手·ing 发表于 2018-1-26 15:29
就是写成一行了,正常两行是这样的:

这个就明白了吧,赋值而已。

不能这样写,因为name[1]原来的值被覆盖了
应该这样
temp = name[1]
name[1] = name[3]
name[1] = temp
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 16:18:30 | 显示全部楼层
BngThea 发表于 2018-1-26 15:32
不能这样写,因为name[1]原来的值被覆盖了
应该这样
temp = name[1]

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 16:28:14 | 显示全部楼层
新手·ing 发表于 2018-1-26 15:29
就是写成一行了,正常两行是这样的:

这个就明白了吧,赋值而已。

如果直接
  1. name[1]=name[2]
  2. name[2]=name[1]
复制代码
可能会理解上出错
实际上是为了赋值正确 让他们同步进行
  1. x=name[1]
  2. name[1]=name[2]
  3. name[2]=x
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-26 17:50:29 | 显示全部楼层
雪落千寒丶 发表于 2018-1-26 16:28
如果直接 可能会理解上出错
实际上是为了赋值正确 让他们同步进行

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-6 09:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表