我们可以用数组元素对数组进行逻辑AND操作吗?

时间:2012-05-10 14:09:13

标签: python c arrays

你好朋友,
我是Python的新手。 我今天在这个链接中看到了Python编程的指令 http://www.learnpython.org/page/Conditions 有疑问他想用数组和数组元素进行逻辑AND操作。 我在C中尝试过相同的 但是C扔了一个错误。 我们怎么做? AND操作将如何发生在这里?

first_array = [3, 4, 5]
if first_array and first_array[0] == 1:
   print "5"

4 个答案:

答案 0 :(得分:4)

in c

int first_array[] = { 3,4,5};
if ( (first_array != null) && (first_array[0] == 3 )) 
{
    printf("5");
}

答案 1 :(得分:3)

很难确切地说出你在问什么,但我会为你提供一些选择:

您编写的代码会检查first_array是否为空,以及第一个元素是否为0.这实际上是不错的做法,因为first_array[0]会引发异常first_array 1}}是空的。这种结构避免了这个错误,因为除非第一个条件为真(s how和`在Python中有效),否则第二个条件不会被删除。

如果你想检查列表中的所有任何项是否真实(非零,如果它们是数字),你可以使用Python的{{ 1}}或all()功能。

any()

如果要检查列表中的所有(或任何)项是否具有特定值,可以使用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

答案 2 :(得分:0)

首先,“和”在python中是&&在C.第二,python实现列表不是数组,第三,我不是你的问题:python是否抛出上述代码的异常?如果是这样,那么也许你已经安装了python 3,它应该像

一样
 print("5") 

否则,如果问题与C相关,请更改问题

答案 3 :(得分:0)

表达式

if first_array and first_array[0] == 1:
如果两个子表达式first_arrayfirst_array[0] == 1都为真,则

为真。

如果列表包含元素,则列表为真,第二个列表是微不足道的。