-2

你好朋友,
我是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"
4

4 回答 4

4

在 c

int first_array[] = { 3,4,5};
if ( (first_array != null) && (first_array[0] == 3 )) 
{
    printf("5");
}
于 2012-05-10T14:16:21.910 回答
3

很难确切地说出你在问什么,但我会尝试给你一些选择:

您编写的代码会检查是否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
于 2012-05-10T14:13:38.510 回答
0

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

 print("5") 

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

于 2012-05-10T14:16:43.733 回答
0

表达方式

if first_array and first_array[0] == 1:

当两个子表达式first_arrayfirst_array[0] == 1都为真时为真。

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

于 2012-05-10T14:32:48.657 回答