Python构建索引

2024-04-24 16:35:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的初学者,为了构造书籍的索引,我必须用Python编写一个函数,该函数必须返回一个字符串。作为参数,函数必须采用一个列表。 例如,我的PageIndex可以采用以下形式:[1,2,3,4,12]。返回的字符串应采用以下形式:“1-4,12”。 在这里,破折号代替了1和4之间的数字,逗号应该把不遵循数字顺序的章节分开。 另一个序列:[0,2,3,4569]。 谢谢你的提示! 贝博普


Tags: 函数字符串列表参数顺序序列数字形式
1条回答
网友
1楼 · 发布于 2024-04-24 16:35:59

你可以这样做:

import itertools

def ranges(i):
    for a, b in itertools.groupby(enumerate(i), lambda (x, y): y - x):
        b = list(b)
        yield b[0][1], b[-1][1]

print(list(ranges([1, 2, 3, 4, 12])))

输出:

[[1, 4], 12]

相关问题 更多 >