my_list1 = [30,34,56]
my_list2 = [29,500,43]
목록의 모든 값이> = 30인지 확인하는 방법은 무엇입니까? my_list1
작동해야하고my_list2
하지 않아야합니다.
내가 생각할 수있는 유일한 것은 :
boolean = 0
def func(ls):
for k in ls:
if k >= 30:
boolean = boolean + 1
else:
boolean = 0
if boolean > 0:
print 'Continue'
elif boolean = 0:
pass
2016 업데이트 :
돌이켜 보면 속도가 실제로 중요한 더 큰 데이터 세트를 처리하고 활용 한 후에 numpy
...
>>> my_list1 = [30,34,56]
>>> my_list2 = [29,500,43]
>>> import numpy as np
>>> A_1 = np.array(my_list1)
>>> A_2 = np.array(my_list2)
>>> A_1 >= 30
array([ True, True, True], dtype=bool)
>>> A_2 >= 30
array([False, True, True], dtype=bool)
>>> ((A_1 >= 30).sum() == A_1.size).astype(np.int)
1
>>> ((A_2 >= 30).sum() == A_2.size).astype(np.int)
0
다음과 같이 할 수도 있습니다.
len([*filter(lambda x: x >= 30, my_list1)]) > 0
boolean
변수는 함수에 로컬 이고 (적절한global
주석 이 없기 때문에 ) 2) 비교boolean = 0
가 아닌 할당 입니다.