鱼C论坛

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

[已解决]对enumerate对象切片

[复制链接]
发表于 2020-11-4 10:05:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 FC的注册很坑 于 2020-11-4 14:40 编辑

用enumerate()返回了一个enumerate object, 然后我想切片截取这个enumerate object,怎么处理比较优雅美观呢?

举个栗子,对于列表['a','b','c','d','e'],执行enumerate(['a','b','c','d','e'],start=10),得到enumerate object:[(10,'a'),(11,'b'),(12,'c'),(13,'d'),(14,'e')]
现在我想取出序号为11-13的,返回对象依旧是enumerate object:[(11,'b'),(12,'c'),(13,'d')]

当然,写个循环,如果index in [11,12,13]把值存在一个新列表里,在对新列表enumerate,start=11,可以实现目的。
但我觉得这样实现不够优雅,求问大佬们,有没有更优雅简短,让人眼前一亮的写法来实现这个目的呢?
最佳答案
2020-11-4 11:41:32
掐头去尾取中间呗
_, *middle, _ = enumerate(['a','b','c','d','e'], start=10)
print(middle)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-4 10:15:39 | 显示全部楼层
所以你的代码呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 10:29:54 | 显示全部楼层
本帖最后由 笨鸟学飞 于 2020-11-4 12:31 编辑

=======试试=============
temp = enumerate(['a','b','c','d','e'],start=10)
temp2 = temp[1:-2]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 10:57:59 | 显示全部楼层
没太明白,是这个意思吗?
>>> a = list(enumerate(['a','b','c','d','e'],start=10))[1: 14]
>>> a
[(11, 'b'), (12, 'c'), (13, 'd'), (14, 'e')]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 11:37:21 | 显示全部楼层
本帖最后由 阿奇_o 于 2020-11-4 11:48 编辑

---我理解错了,已删,2333--
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 11:41:32 | 显示全部楼层    本楼为最佳答案   
掐头去尾取中间呗
_, *middle, _ = enumerate(['a','b','c','d','e'], start=10)
print(middle)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-11-4 14:36:12 | 显示全部楼层
笨鸟学飞 发表于 2020-11-4 10:29
=======试试=============

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

使用道具 举报

 楼主| 发表于 2020-11-4 14:37:50 | 显示全部楼层
冬雪雪冬 发表于 2020-11-4 10:57
没太明白,是这个意思吗?

这么做类型不对了,我希望切片后的输出仍然是enumerate object,而不是形似的list
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-4 14:40:00 | 显示全部楼层
altf11 发表于 2020-11-4 11:41
掐头去尾取中间呗

输出类型不对,并且我这只是举个例子,是要截取任意一段而不是取中间。
不过这个写法我第一次见,学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 00:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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