你好朋友,
我是Python新手。我今天在此链接
http://www.learnpython.org/page/Conditions中看到了 Python 编程的指令。
有问题的是,他想对数组和数组元素执行逻辑与运算。我在 C 中尝试了同样的方法。但是 C 抛出了一个错误。我们该怎么做?AND 操作将如何在这里发生?
first_array = [3, 4, 5]
if first_array and first_array[0] == 1:
print "5"
你好朋友,
我是Python新手。我今天在此链接
http://www.learnpython.org/page/Conditions中看到了 Python 编程的指令。
有问题的是,他想对数组和数组元素执行逻辑与运算。我在 C 中尝试了同样的方法。但是 C 抛出了一个错误。我们该怎么做?AND 操作将如何在这里发生?
first_array = [3, 4, 5]
if first_array and first_array[0] == 1:
print "5"
在 c
int first_array[] = { 3,4,5};
if ( (first_array != null) && (first_array[0] == 3 ))
{
printf("5");
}
很难确切地说出你在问什么,但我会尝试给你一些选择:
您编写的代码会检查是否first_array
为空,以及第一个元素是否为 0。这实际上是一种不错的做法,因为如果为空first_array[0]
会引发异常。first_array
这种结构避免了这个错误,因为第二个条件不会被评估,除非第一个条件为真(and`s how
在 Python 中有效)。
如果您想检查列表中的所有或任何项目是否为真(非零,如果它们是数字),您可以使用 Python 的all()
orany()
函数。
if any(first_array) and first_array[0] == 1:
# etc
如果要检查列表中的所有(或任何)项目是否具有特定值,可以使用带有any
/的生成器表达式all
:
if any(element == 3 for element in first_array) and first_array[0] == 1:
# and so on
但是,检查列表是否包含特定值的首选方法不是像上面这样的构造,而是更简单in
:
if 3 in first_array and first_array[0] == 1:
# action
首先,python 中的“and”是 C 中的 &&。第二,python 实现了列表而不是数组,第三,我不完全是你的问题:python 是否为上述代码抛出异常?如果是这样,那么也许您在 witch case 中安装了 python 3 它应该像
print("5")
否则,如果问题与 C 相关,请更改问题
表达方式
if first_array and first_array[0] == 1:
当两个子表达式first_array
和first_array[0] == 1
都为真时为真。
如果列表包含元素,则列表为真,第二个是微不足道的。