[英]Python groupby itertools method
我是 python 編程的新手。我無法創建以下代碼:
定義一個 function even_or_odd,它將 integer 作為輸入,如果給定的數字分別是偶數和奇數,則返回字符串偶數和奇數。 根據上面定義的 function 將列表 n = [10, 14, 16, 22, 9, 3, 37] 的數字分為兩組,即偶數和奇數。 提示:使用 itertools 模塊的 groupby 方法。 遍歷獲得的 groupby object 並打印它的組名和與組關聯的元素列表。
我試過下面的代碼:
import itertools
def even_or_odd(n):
if n%2==0:
return 'even'
else:
return 'odd'
group=[]
uniquekeys=[]
n = [10, 14, 16, 22, 9, 3 , 37]
for k,g in itertools.groupby(n, even_or_odd(n)):
groups.append(list(g))
uniquekeys.append(k)
It is giving "TypeError: unsupported operand type(s) for %: 'list' and 'int' "
當您嘗試通過itertools.groupby
even_or_odd
時,您使用n
調用它。 even_or_odd
需要一個int
,但n
是一個列表。 只需將其更改為itertools.groupby(n, even_or_odd)
當我認為您的意思是group
groups
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.