我的练习是要求我确定列表中的每个数字是偶数还是奇数,然后将结果返回到名为 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/