我正在努力将列表'a'中的每个偶数整数元素加倍,然后将结果存储回'a'。列表'a'是整数列表。到目前为止:
def double(item):
if [x for x in item]%2 == 0:
return [x * 2 for x in item]
else:
return [x in item]
给我这个错误:
TypeError:%:'list'和'int'
的不支持的操作数类型
如何将此列表转换为int?
答案 0 :(得分:4)
一些问题:
if
)应该应用于item
循环(或列表理解)中for
的每个元素。%
)应用于列表。[x * 2 for x in item]
- 此分支将为项目中的每个数字创建一个列表。[x in item]
检查x
的值是否在item
中。因此,它会产生[True]
或[False]
。代码:
def double(item):
return [x if x % 2 else x * 2 for x in item]