में एक सूची का परीक्षण कर रहा था, यह देखने के लिए कि यह खाली है या नहीं, मैं एक सूची का परीक्षण कर रहा था। आम तौर पर मैं लेन (सूची) == 0 का उपयोग करता हूं और मुझे थोड़ी देर पहले पढ़ना याद आया कि सूची खाली होने पर परीक्षण करने का सही तरीका यह था कि यह सच या गलत था।बूलियन पायथन
तो मैंने कोशिश की कि सूची गलत है, और यह गलत हो गया। शायद मुझे लगता है कि == का उपयोग करना है? नहीं, यह भी झूठी लौट आया। सूची सही है, सूची के रूप में गलत लौटा == सही।
अब मैं उलझन में हूँ तो मैं एक त्वरित गूगल करते हैं और अंत में: Best way to check if a list is empty
शीर्ष जवाब है:
if not a:
print "List is empty"
तो मैं कुछ और चारों ओर खोज और अजगर के मैनुअल में खत्म जहां 4.1 राज्य:
किसी ऑब्जेक्ट को सत्य मूल्य के लिए परीक्षण किया जा सकता है, अगर किसी स्थिति में या नीचे की स्थिति में या नीचे बूलियन ऑपरेशंस के संचालन के लिए। निम्नलिखित मानों को झूठा माना जाता है:
कोई खाली अनुक्रम, उदाहरण के लिए, '',(), []।
अब मैं उलझन में हूं। यदि मैं एक सूची का परीक्षण करता हूं जैसे सूची नहीं है, तो यह ठीक काम करता है। लेकिन अगर एक खाली सूची गलत है, तो मैं सूची क्यों गलत नहीं कर सकता हूं या सूची == गलत है?
धन्यवाद
विशेष रूप से, [__nonzero__] (http://docs.python.org/reference/datamodel.html#object.%5F%5Fnonzero%5F%5F) विधि को विधि कहा जाता है – ernie