如何在Python中为偶数加1?[duplicate]

gfttwv5a  于 2023-01-16  发布在  Python
关注(0)|答案(2)|浏览(148)
    • 此问题在此处已有答案**:

True + True = 2. Elegantly perform boolean arithmetic?(2个答案)
Why is bool a subclass of int?(3个答案)
What is Truthy and Falsy? How is it different from True and False?(8个答案)
18小时前关门了。
我来自C++。
直观地说,在C++中,我会这样做:

int someArray[n];
for (int i = 1 ; i < n ; i++){
   someArray[i] = !(i%2);
}

其中当i为偶数时i%2 == 0,当i为奇数时i%2 == 1
然后!使得偶数被计算为1,而奇数被计算为0,所以someArray将以0在其奇数索引中而1在其偶数索引中结束。
这是一个例子来说明我想做什么。
在Python中有没有一种方法可以做到这一点,而不使用控制流,只是在数学表达式本身?not计算一个布尔值,而不是10
我这样问是因为我根据某个count是偶数还是奇数来设置+-1的属性,并且它嵌套在多个其他说明符中。

vjhs03f7

vjhs03f71#

在将not添加到余数计算之后,可以显式地将bool转换为int,如下所示:

n = 10 #example length

#list initialization 
some_list = [0]*n

for i in range(n):
    some_list[i] = int(not i%2)

您也可以将列表设置为布尔列表,并使用map
下面是link,了解有关此主题的更多详细信息

3bygqnnd

3bygqnnd2#

你可以在python中使用list comprehension来实现这一点。

n = 10
some_array = [1 if not i%2 else -1 for i in range(n)]

在python中,not运算符用于否定值的真实性,而不是否定数值。

相关问题