将数据添加到数组而不是打印?

时间:2014-04-23 13:43:10

标签: python list lambda group-by enumerate

所以我找到了一个很好的答案,我在这里遇到的一个问题: 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]

这很棒。

但是我想能够用这些信息做些什么。如何将其写入数组或其他内容?

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