鱼C论坛

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

[技术交流] 关于倒序 L.reverse()

[复制链接]
发表于 2016-6-5 09:06:18 | 显示全部楼层 |阅读模式

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

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

x
例如:
  1. a=[1,3,5,7,9]
  2. b=a.reverse()
  3. print(b)
复制代码

输出:
  1. None
复制代码

倒叙之后为什么不能赋值给新变量...好奇怪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-5 11:25:43 | 显示全部楼层
a.reverse()是原位置操作,改变的是a的值,并没有返回值,可以这样
  1. a=[1,3,5,7,9]
  2. a.reverse()
  3. print(a)
复制代码
或者
  1. a=[1,3,5,7,9]
  2. b=list(reversed(a))
  3. print(b)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-5 15:27:21 | 显示全部楼层
挥舞乾坤 发表于 2016-6-5 11:25
a.reverse()是原位置操作,改变的是a的值,并没有返回值,可以这样或者

我知道还得用原变量进行操作,我只是奇怪,为什么L.reverse()之后不能直接赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-5 17:54:15 | 显示全部楼层
cwag2323 发表于 2016-6-5 15:27
我知道还得用原变量进行操作,我只是奇怪,为什么L.reverse()之后不能直接赋值

这还有什么好奇怪的,列表的reverse()方法,就是一个原位置操作,只是改变原列表的值,本来就没有返回值,或者说返回None,你非要把返回值赋到一个变量里,那变量肯定也等于None啊

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
suxinmi + 2 + 2 谢谢您的回答,解决了我的问题

查看全部评分

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

使用道具 举报

发表于 2016-6-5 18:57:03 | 显示全部楼层
cwag2323 发表于 2016-6-5 15:27
我知道还得用原变量进行操作,我只是奇怪,为什么L.reverse()之后不能直接赋值

有返回值的方法才可以再赋值给其他变量。
原位操作的方法,操作的对象是该变量本身,即是被操作的变量的值发生了改变。

个人理解。

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
suxinmi + 2 + 2 谢谢您的回答,解决了我的问题

查看全部评分

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

使用道具 举报

发表于 2016-6-6 08:59:59 | 显示全部楼层
其实像l.reserve()这种都是类似于函数的性质。
你调用的是reserve函数。
就函数而言,有返回值的时候才是可以赋值给其他变量的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-24 11:00:42 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-24 16:26:47 | 显示全部楼层
O(∩_∩)O谢谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-22 15:00:29 | 显示全部楼层
感谢楼主提问以及众鱼油热心回答,刚好也解决了我想问的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 22:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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