你好朋友,
我是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"
答案 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_array
和first_array[0] == 1
都为真,则为真。
如果列表包含元素,则列表为真,第二个列表是微不足道的。