关于迭代list中元素是否满足某一条件的问题


Hi,大家好,我有个算法想的不太明白,求帮助
我有一个lista:
lista=[a,b,c,d],a,b,c,d是一些数字
lista在一个循环之下,每次循环ista里边的数值是不一样的,即>


 for i in range (3):
    lista=[0,0,0,0]   #i=0
    lista=[0,0,1,2]   #i=1
    lista=[0,1,2,3]   #i=2

现在我需要判断每个i step时,数组中的元素是不是全部满足某一条件,比如全部为零,如果全部为零,那么在另外一个listb里append()一个零,如果不是,那么运行一些其他的代码,即:


 for i in range (3):
    lista=[0,0,0,0]   #i=0
    lista=[0,0,1,2]   #i=1
    lista=[0,1,2,3]   #i=2
    for j in range (len(lista):
        if all(lista=[j]==0 for j in lista):
            listb.append(0)

但是这个代码运行以后,只能判断lista每个元素是否为0而不是整个lista所有的元素是否为0,我该如何处理?
谢谢大家

python 算法

xxnioo 9 years, 5 months ago

 >>> lista=[0,0,0,0]
>>> reduce(lambda x,y:x&y, map(lambda x:x==0, lista), True)
True
>>> lista=[0,0,0,1]
>>> reduce(lambda x,y:x&y, map(lambda x:x==0, lista), True)
False

无限上升气流君 answered 9 years, 5 months ago

Your Answer