鱼C论坛

 找回密码
 立即注册
查看: 1377|回复: 12

[已解决]这个代码要怎么理解,

[复制链接]
发表于 2020-6-23 13:17:41 | 显示全部楼层 |阅读模式

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

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

x
class ReverseString(object):

    def reverse(self, chars):
        if chars:
            size = len(chars)
            for i in range(size // 2):
                chars[i], chars[size - 1 - i] = chars[size - 1 - i], chars[i]
        return chars

chars[i], chars[size - 1 - i] = chars[size - 1 - i], chars[i]

加粗的代码要怎么理解,想来想去也想不明白怎么赋值,最终实现列表反转
最佳答案
2020-6-23 13:31:42
白白白白丶白 发表于 2020-6-23 13:28
chars怎么是尾呢尾不是chars[-1]吗。我怎么看他都是chars [ i ] 后面的那个元素

你随便举个例子,带入一下  就晓得了,难道不是吗
比如  长度为10
带入得:
0---9
1----8
2---7
3----6
4----5
over
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 13:24:04 | 显示全部楼层
本帖最后由 Twilight6 于 2020-6-23 13:26 编辑




简单理解嘛,就是把等号 = 右边的值 依次赋值给 等号 = 左边的值

而且等号左边是列表索引的元素,就达到互相替换位置的效果咯
chars[i], chars[size - 1 - i] = chars[size - 1 - i], chars[i]

就是同时把 chars第 i 个位置赋值上 chars 的第 size - 1 - i 位置参数的值

而 chars[size - 1 - i] 赋值上之前  chars 的 第 i 个位置参数的值嘛




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 13:24:32 | 显示全部楼层
这是一个互换
比如
首1  尾1 互换
首2  尾2 互换
首3  尾3 互换
。。。
.......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 13:28:21 | 显示全部楼层
本帖最后由 白白白白丶白 于 2020-6-23 13:30 编辑
wp231957 发表于 2020-6-23 13:24
这是一个互换
比如
首1  尾1 互换


chars[size - 1 - i]怎么是尾呢尾不是chars[-1]吗。我怎么看他都是chars [ i ] 后面的那个元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 13:31:42 | 显示全部楼层    本楼为最佳答案   
白白白白丶白 发表于 2020-6-23 13:28
chars怎么是尾呢尾不是chars[-1]吗。我怎么看他都是chars [ i ] 后面的那个元素

你随便举个例子,带入一下  就晓得了,难道不是吗
比如  长度为10
带入得:
0---9
1----8
2---7
3----6
4----5
over
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 13:32:27 | 显示全部楼层
Twilight6 发表于 2020-6-23 13:24
简单理解嘛,就是把等号 = 右边的值 依次赋值给 等号 = 左边的值

而且等号左边是列表索引的元素, ...

这个我是知道的,size - 1 - i 怎么是代表尾呢,为啥我算是chars[ i ]后面那个元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 13:35:22 | 显示全部楼层
wp231957 发表于 2020-6-23 13:31
你随便举个例子,带入一下  就晓得了,难道不是吗
比如  长度为10
带入得:

我他妈看错了,一直用size//2的值带进去想的,二比了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 13:36:39 | 显示全部楼层
白白白白丶白 发表于 2020-6-23 13:32
这个我是知道的,size - 1 - i 怎么是代表尾呢,为啥我算是chars[ i ]后面那个元素

想明白了,脑袋昏了,带错值了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 13:36:39 | 显示全部楼层
白白白白丶白 发表于 2020-6-23 13:35
我他妈看错了,一直用size//2的值带进去想的,二比了

size//2  明显是循环次数吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 13:59:58 | 显示全部楼层
wp231957 发表于 2020-6-23 13:36
size//2  明显是循环次数吗

是的,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 14:30:11 | 显示全部楼层
白白白白丶白 发表于 2020-6-23 13:35
我他妈看错了,一直用size//2的值带进去想的,二比了

少说脏话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-23 15:00:18 | 显示全部楼层


问题解决了  就快点给解决你问题的人设置最佳吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 19:42:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 07:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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