所以我找到了一个很好的答案,我在这里遇到的一个问题: Identify groups of continuous numbers in a list
我的代码现在是:
for k, g in groupby(enumerate(cycles), lambda (i,x):i-x):
print map(itemgetter(1), g)
给出了
[1, 2, 3, 4, 5, 6, 7, 8]
[5]
[1, 2]
这很棒。
但是我想能够用这些信息做些什么。如何将其写入数组或其他内容?
答案 0 :(得分:1)
请按以下步骤操作:
result = []
for k, g in groupby(enumerate(cycles), lambda (i,x):i-x):
result.append(map(itemgetter(1), g))
print result
或者只使用列表理解:
result = [map(itemgetter(1), g) for k, g in groupby(enumerate(cycles), lambda (i,x):i-x)]
答案 1 :(得分:1)
map
返回Python 2中的列表。因此,您可以简单地分配给变量并开始使用它
for k, g in groupby(enumerate(cycles), lambda (i,x):i-x):
current_list = map(itemgetter(1), g)
# use current_list