将列表中的每个偶数整数加倍

时间:2018-01-22 21:36:15

标签: python list

我正在努力将列表'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?

1 个答案:

答案 0 :(得分:4)

一些问题:

  1. 您的条件(if)应该应用于item循环(或列表理解)中for的每个元素。
  2. 您已将模块运算符(%)应用于列表。
  3. [x * 2 for x in item] - 此分支将为项目中的每个数字创建一个列表。
  4. [x in item]检查x的值是否在item中。因此,它会产生[True][False]
  5. 代码:

    def double(item):
        return [x if x % 2 else x * 2 for x in item]