以下是我的任务
我写了下面的代码 : 我得到错误信息'str'对象不可调用。事实上,我不知道如何使用itertool groupby()从一个函数中获取值。谁能指导我?
from itertools import groupby
def even_or_odd(r):
for i in r:
if i%2 == 0:
return "even"
else:
return "odd"
n = [10, 14, 16, 22, 9, 3 , 37]
for key, group in groupby(n, even_or_odd(n)):
if key == even:
print(key, list(group))
else:
print(key, list(group))
这里的解决方案根据文档 https:/docs.python.org3.8libraryitertools.html#itertools.groupby。
The key is a function computing a key value for each element
from itertools import groupby
n = [10, 14, 16, 22, 9, 3 , 37]
def even_or_odd(val):
if val%2 == 0:
return "even"
else:
return "odd"
for key, group in groupby(n, even_or_odd):
print(key, list(group))
输出
even [10, 14, 16, 22]
odd [9, 3, 37]