鱼C论坛

 找回密码
 立即注册
查看: 1362|回复: 14

关于reverse()

[复制链接]
发表于 2019-9-2 04:46:25 | 显示全部楼层 |阅读模式

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

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

x
请问reverse()是不是只能反转整个列表
例如
guess = [1,2,3,4,5]
guess1 = guess[2:].reverse()

我这样写并没有报错 但是guess1也没有得到任何元素 求解惑 感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-2 07:28:19 From FishC Mobile | 显示全部楼层
用心学一下函数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 08:06:32 | 显示全部楼层
一个函数你得知道输入输出是什么,实现什么功能,你都不知道就赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 09:02:17 | 显示全部楼层
本帖最后由 panheng 于 2019-9-2 09:07 编辑

根据楼主的代码可能是要用BIF reversed.
reversed() (built-in function)
reversed(seq)
Return a reverse iterator. seq must be an object which has a __reversed__() method or supports the sequence protocol (the __len__() method and the __getitem__() method with integer arguments starting at 0).



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

使用道具 举报

发表于 2019-9-2 09:12:38 | 显示全部楼层
reverse确实是对列表进行排序,
下面这行代码是对guess[2:]这个切出来的列表进行排序,但是你没有把这个列表赋值给任何变量,所以这个操作并没有什么实质意义(没有改变原来的列表,虽然对切片产生的列表也就是guess[2:]进行了反向排序,但是因为这个新的列表你没有赋值给任何变量,你仅仅只能知道这个列表[3,4,5]反向变成了[5,4,3]。而且reverse()函数没有返回值,guess1自然没有值。
  1. guess1 = guess[2:].reverse()
复制代码


像这种函数不知道怎么用的时候,多多找度娘,应该很容易理解的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 09:13:26 | 显示全部楼层
reverse()方法没有返回值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-9-2 11:38:10 | 显示全部楼层
reverse() 函数是用于反向列表中元素,该方法没有返回值,但是会对列表的元素进行反向排序。
因为没有返回值,所以guess.reverse()赋给guess1或者直接打印guess.reverse()的结果就是None。
如果要实现guess[2:]元素的反转可以
guess = [1,2,3,4,5]
guess1 = guess[2:]
guess1.reverse()
print(guess1)

或者是
guess = [1,2,3,4,5]
guess1 = list(reversed(guess[2:]))
print(guess1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-9-2 14:48:56 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 20:23:34 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 20:56:11 | 显示全部楼层
本帖最后由 快速收敛 于 2019-9-2 20:57 编辑
  1. lst.reverse()
复制代码
返回值为None,直接对列表进行操作
例:
  1. In [2]: lst = [1,2,3]
  2. In [3]: lst.reverse()
  3. In [4]: lst
  4. Out[4]: [3, 2, 1]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:31:51 | 显示全部楼层
直接这样:

  1. guess1 = list(reversed(guess[2:]))
复制代码


reverse() 方法没有返回值,而内置的 reversed 方法可以将一个可迭代对象翻转,返回一个生成器,再用 list() 函数转化成列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:34:38 | 显示全部楼层

你终于出现了,白天一天没看到你回答问题,好不习惯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:34:58 | 显示全部楼层
空青 发表于 2019-9-2 21:34
你终于出现了,白天一天没看到你回答问题,好不习惯

我是学生,开学了,没时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:35:58 | 显示全部楼层
zltzlt 发表于 2019-9-2 21:34
我是学生,开学了,没时间

大学生啊,年轻真好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:36:53 From FishC Mobile | 显示全部楼层
空青 发表于 2019-9-2 21:35
大学生啊,年轻真好

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-27 19:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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