偶数/奇数列表有两种方式

时间:2017-03-19 19:52:23

标签: python list-comprehension

我正在尝试以两种不同的方式制作相同的列表(仅用于练习)

INPUT:整数列表
OUTPUT:字符串列表

第一种方式:根据示例列表中的元素是偶数还是奇数,用'偶数'或'奇数'替换整数。

第二种方式:使用map做同样的事情

Example:
>>> even_odd([6, 4, 1, 3, 8, 5])
['even', 'even', 'odd', 'odd', 'even', 'odd']

我知道这是可能的,但我继续遇到SyntaxError或TypeError(在尝试对列表中的项进行%除法时生成器和int)

有人能帮助我吗?

1 个答案:

答案 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!