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
अपडेट २०१६:
बड़े डेटासेट से निपटने के बाद, जहां वास्तव में गति मायने रखती है और उपयोग कर रही है 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
एक असाइनमेंट है , तुलना नहीं है।