python - 确定列表中的奇数或偶数,将结果返回到新列表

标签 python

我的练习是要求我确定列表中的每个数字是偶数还是奇数,然后将结果返回到名为 is_even 的新列表中。

我的代码

num_lst = [3, 20, -1, 9, 10]
is_even = []
for n in num_lst:
    if n % 2 == 0:
        n = is_even.append(bool(n))
    else :
        is_even.append(bool(0))
print(is_even)

确实有效,但是有更好的方法吗?

最佳答案

按位运算符优先用于偶/奇检测:

num_lst = [3, 20, -1, 9, 10]
is_even = [not num & 1 for num in num_lst]
print(is_even)

奇数的数字设置了最低有效位,因此使用 & 1 来屏蔽该位。 not 方便地强制转换为 bool 值并反转结果。

关于python - 确定列表中的奇数或偶数,将结果返回到新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65800768/

相关文章:

python - 用于评估的 Tensorflow 平均绝对误差 (MAE)

python - 有没有办法使用 mss 截取当前未激活的桌面的屏幕截图?

python - 使用 gzip 服务 javascript 的 Django 压缩器

python - LCM使用递归?

Python-删除同一索引处多个子列表的元素

python - 从(网页)表格中有选择地选取文本

python - 求两个数之和的最有效方法

python - 在进程终止前获取进程快照

python - python 类的 Lambda 函数?

python - numpy 调用类方法的行为名称(如果定义)?