एक बुनियादी अजगर सूची समझ में 'या' ऑपरेटर का उपयोग करना

Nov 26 2020

प्रश्न: मैं कैसे या अजगर सूची समझ में उपयोग कर सकते हैं?

मैं 0-99 के बीच किसी भी संख्या को आउटपुट करना चाह रहा हूं जो या तो 5 या 7 से विभाज्य है और शेष नहीं है। मेरे पास निम्नलिखित कोड हैं:

numbers = [x for x in range(99) if x % 5 == 0 if x % 7 == 0]

लेकिन यह रिटर्न: 0, 35, 70 जो संख्या 5 और 7. दोनों से विभाज्य हैं, मैंने भी कोशिश की:

numbers = [x % 5 == 0 or x % 7 == 0 for x in range(99)]

लेकिन यह प्रत्येक नंबर के लिए सही या गलत रिटर्न देता है, जहां मैं खुद नंबर पाने के लिए देख रहा हूं। इसका उपयोग करना:

numbers = [x for x in range(99) if x % 5 == 0 or if x % 7 == 0]

एक सिंटैक्स त्रुटि फेंकता है।

मैंने निम्नलिखित पृष्ठों को देखा है, लेकिन यह समझने में सक्षम नहीं था कि यदि वे प्रस्तुत किए गए हैं तो समाधान कैसे लागू किया जाए। वे प्रत्येक मेरे वांछित समाधान के लिए बारीकियों की पेशकश कर रहे थे, लेकिन वे नहीं थे जो मैं देख रहा था।

datacamp.com/community/tutorials/python-list-comprehension

programiz.com/python-programming/list-comprehension

उपयोग-ऑफ-या-ऑपरेटर-इन-पाइथन-लैम्ब्डा-फ़ंक्शन

not-comprehending-list-comprehension-in-python

वहाँ-एक-बाइनरी-या-ऑपरेटर-इन-पायथन-जो-कार्य-पर-सरणियाँ है

कैसे-कन्वर्ट-यह-मेरा-कोड-में-एक-सूची-समझ

अजगर-सूची-समझ-के साथ-कई-if

जवाब

1 WasifHasan Nov 26 2020 at 10:59

दूसरे का उपयोग न करें if!

numbers = [x for x in range(99) if (x % 5 == 0) or (x % 7 == 0)]
print(numbers)

क्योंकि ifएक बयान है और वे भाव हैं, और फिर जाँच करने के orलिए ifआशुलिपि का उपयोग करते हैं और करते हैं ।