鱼C论坛

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

[已解决]有大神能帮我解释一下这个问题么?

[复制链接]
发表于 2019-1-12 23:39:59 | 显示全部楼层 |阅读模式

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

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

x
  1. >>> a = 'abc'
  2. >>> b =list(a)
  3. >>> b
  4. ['a', 'b', 'c']
  5. >>> c = reversed(b)
  6. >>> c
  7. <list_reverseiterator object at 0x05320930>
  8. >>> list(c)
  9. ['c', 'b', 'a']
复制代码



c的值为什么是一串数字呢?
最佳答案
1970-1-1 08:00:00
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-13 00:01:04 | 显示全部楼层
函数reversed不返回列表,而是返回一个迭代器。
所以>>> c = reversed(b)
>>> c
<list_reverseiterator object at 0x05320930>这里是地址来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-13 00:59:28 | 显示全部楼层
  1. >>> a = 'abc'
  2. >>> b =list(a)
  3. >>> c = reversed(b)
  4. >>> for i in c:
  5.         print(i)

  6.        
  7. c
  8. b
  9. a
  10. >>> c
  11. <list_reverseiterator object at 0x0000000003910F60>
  12. >>> b
  13. ['a', 'b', 'c']
  14. >>> a
  15. 'abc'
  16. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-13 06:09:41 | 显示全部楼层
iwanna 发表于 2019-1-13 01:34
c是个迭代器,用一次就没了,你再调用一次list(c)试试,返回的是空列表
要想让c是反转的列表,使用list()把迭 ...

请问如何理解“迭代器”这个概念,是一个中间程序,还是一个什么机制? 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-13 09:42:22 | 显示全部楼层
AndyYoung 发表于 2019-1-13 06:09
请问如何理解“迭代器”这个概念,是一个中间程序,还是一个什么机制? 谢谢

相当于C语言指针的概念……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-13 09:56:59 | 显示全部楼层
reversed返回的是一个迭代器,你需要重新List下就有显示了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-13 11:24:15 | 显示全部楼层
谢谢大家
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 05:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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