我正在尝试以两种不同的方式制作相同的列表(仅用于练习)
INPUT:整数列表
OUTPUT:字符串列表
第一种方式:根据示例列表中的元素是偶数还是奇数,用'偶数'或'奇数'替换整数。
第二种方式:使用map做同样的事情
Example:
>>> even_odd([6, 4, 1, 3, 8, 5])
['even', 'even', 'odd', 'odd', 'even', 'odd']
我知道这是可能的,但我继续遇到SyntaxError或TypeError(在尝试对列表中的项进行%除法时生成器和int)
有人能帮助我吗?
答案 0 :(得分:0)
def even_odd(L):
return ['even' if x % 2 == 0 else 'odd' for x in L]
使用来自tutorial的精彩pythons official documentation,您可以弄清楚如何将上述内容转换为地图功能:
def even_odd2(L):
return list(map(lambda x: 'even' if x % 2 == 0 else 'odd', L))
使用示例:
print(even_odd([6, 4, 1, 3, 8, 5]))
print(even_odd2([6, 4, 1, 3, 8, 5]))
<强>输出:强>
['even', 'even', 'odd', 'odd', 'even', 'odd']
['even', 'even', 'odd', 'odd', 'even', 'odd']
试试here!