【发布时间】:2018-09-24 10:20:23
【问题描述】:
根据任意数量的索引将列表拆分为多个部分的最佳方法是什么?例如。给出下面的代码
indexes = [5, 12, 17]
list = range(20)
返回类似的东西
part1 = list[:5]
part2 = list[5:12]
part3 = list[12:17]
part4 = list[17:]
如果没有索引,它应该返回整个列表。
【问题讨论】:
-
我对你的答案选择标准有点兴趣......更简单更快不是“Pythonic”吗?
-
几乎是最高票数和我对代码的熟悉程度的结合。我不是大师,所以不能说哪个更快。尽管我不完全理解它是如何工作的,但您的解决方案确实看起来很有趣。如果这里有几个人愿意确认您的解决方案确实更好,我愿意修改我的选择。毕竟,Stack Overflow 的意义不在于群众的智慧吗:)
-
你不需要成为大师;使用 timeit 模块。理解:(1)用print替换yield(2)阅读:
http://stackoverflow.com/questions/231767/can-somebody-explain-me-the-python-yield-statement