我有一个由多个偶数和奇数组成的数组,如何将这个数组变成一个奇数元素的数组,例如:
忽略奇数元素,但偶数元素加1
Input_array = [3,67,2,34,55,73,96,21,13,15,16]
Output_array = [3,67,3,35,55,73,97,21,13,15,17]
这是我的密码:
Output_array = [(x+1) for x in Input_array if x%2 == 0]
但是这个Output_array
包含(甚至元素+1)不是所有的元素,只有[3, 35, 97, 17]
Tags:
只需设置它们的1位:
演示:
正如您正确观察到的,您可以通过向偶数元素添加
1
,将偶数和奇数元素的列表转换为仅奇数元素。你也知道这可以通过列表来完成。你的代码很接近,但不完全正确。现在,你要做的就是从新列表中过滤掉任何奇数。如果当前元素不是偶数,则需要将其添加到新列表中:下面是上面的列表:
您可以使用:
其工作原理如下,在条件
not x % 2
下,我们检查数字是否为偶数(True
如果为偶数,则False
否则)。因为True
是一个整数1
,而False
是一个整数0
,所以我们将1
加到这个值上,因为这个数是偶数。你知道吗这给了我们:
或者我们可以使用位运算:
结果是:
相关问题 更多 >
编程相关推荐