जब उन टुपल्स को खोजने की आवश्यकता होती है जिनके तत्व किसी विशिष्ट तत्व 'K' से विभाज्य होते हैं, तो सूची समझ का उपयोग किया जा सकता है।
उदाहरण
my_list = [(45, 90, 135), (71, 92, 26), (2, 67, 98)]
print("सूची है: ")
print(my_list)
K = 45
print("K का मान इनिशियलाइज़ किया गया है: ")
print(K)
my_result = [sub for sub in my_list if all(ele % K == 0 for ele in sub)]
print("K से विभाज्य तत्व: " + str(my_result))
आउटपुट
सूची है: [(45, 90, 135), (71, 92, 26), (2, 67, 98)] K का मान इनिशियलाइज़ किया गया है: 45 K से विभाज्य तत्व: [(45, 90, 135)]
व्याख्या
टुपल्स की एक सूची परिभाषित की जाती है, और कंसोल पर प्रदर्शित की जाती है।
K का मान परिभाषित किया जाता है, और कंसोल पर प्रदर्शित किया जाता है।
तत्वों के माध्यम से पुनरावृत्ति करने के लिए सूची समझ का उपयोग किया जाता है।
टुपल्स की सूची में प्रत्येक तत्व की जांच की जाती है कि क्या यह K से विभाज्य है।
यदि यह K से विभाज्य है, तो इसे एक सूची तत्व में बदल दिया जाता है, और एक वेरिएबल में संग्रहीत किया जाता है।
इसे आउटपुट के रूप में कंसोल पर प्रदर्शित किया जाता है।
कोड विश्लेषण
[sub for sub in my_list if all(ele % K == 0 for ele in sub)]
ele % K == 0जांचता है कि ele, K से विभाज्य हैall(...)सुनिश्चित करता है कि टुपल के सभी तत्व विभाज्य हैंकेवल वे टुपल्स शामिल किए जाते हैं जहां हर तत्व विभाज्य है
विविधताएं
कम से कम एक तत्व K से विभाज्य हो
[sub for sub in my_list if any(ele % K == 0 for ele in sub)]
कोई भी तत्व K से विभाज्य न हो
[sub for sub in my_list if all(ele % K != 0 for ele in sub)]
कई डिवाइजर्स के लिए
divisors = [3, 5] [sub for sub in my_list if all(any(ele % d == 0 for d in divisors) for ele in sub)]
एज केस हैंडलिंग
def safe_divisible_check(tuples_list, K):
if K == 0:
raise ValueError("K शून्य नहीं हो सकता")
return [sub for sub in tuples_list if all(ele % K == 0 for ele in sub)]
प्रदर्शन टिप
बड़ी सूचियों के लिए, जनरेटर एक्सप्रेशन का उपयोग करके मेमोरी बचाएं:
# तुरंत सूची नहीं बनाता
gen = (sub for sub in my_list if all(ele % K == 0 for ele in sub))
for item in gen:
process(item)