【发布时间】:2020-04-26 13:40:25
【问题描述】:
下面是我的任务
- 定义一个函数 even_or_odd,它接受一个整数作为输入,如果给定的数字分别是偶数和奇数,则返回字符串偶数和奇数。
- 根据上面定义的函数将列表 n = [10, 14, 16, 22, 9, 3 , 37] 的数字分为两组,即偶数和奇数。 提示:使用 itertools 模块的 groupby 方法。
- 遍历获得的 groupby 对象并打印它的组名和与组关联的元素列表。
我编写了以下代码:我收到错误“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))
【问题讨论】: