IfLoop का उत्तर (और MatToufoutu की टिप्पणी) स्टैंडअलोन चर के लिए बहुत अच्छा काम करता है, लेकिन मैं सूचियों, tuples, या शब्दकोश में व्यक्तिगत प्रविष्टियों के लिए कुछ ऐसा करने की कोशिश करने के लिए उत्तर देना चाहता था।
शब्दकोश
existing_dict = {"spam": 1, "eggs": 2}
existing_dict["foo"] = existing_dict["foo"] if "foo" in existing_dict else 3
रिटर्न {"spam": 1, "eggs": 2, "foo": 3}
सूचियाँ
existing_list = ["spam","eggs"]
existing_list = existing_list if len(existing_list)==3 else
existing_list + ["foo"]
रिटर्न ["spam", "eggs", "foo"]
tuples
existing_tuple = ("spam","eggs")
existing_tuple = existing_tuple if len(existing_tuple)==3 else
existing_tuple + ("foo",)
रिटर्न ("spam", "eggs", "foo")
(एक "एकल" टपल परिभाषित करने के लिए ("foo",)
में अल्पविराम मत भूलना।)
सूचियों और tuples समाधान और अधिक जटिल हो जाएगा अगर आप चाहते हैं बस लंबाई की जांच करने और अंत में जोड़ने के अलावा अधिक करने के लिए। फिर भी, यह एक स्वाद देता है कि आप क्या कर सकते हैं।
स्रोत
2014-07-01 14:25:04
किस परिस्थिति में आप चर का संदर्भ दे रहे हैं जो मौजूद नहीं हो सकता है? क्या आप उन चरों का संदर्भ देना चाहते हैं जिन्हें घोषित किया गया है लेकिन अभी तक प्रारंभ नहीं किया गया है? – mwcz