मेरे पास यह शब्दकोश है कि मैं अपने कोड को छोटा करने के लिए एक एफ-स्ट्रिंग के अंदर एम्बेड करना चाहता हूं (गोल्फिंग उद्देश्यों के लिए)। क्या एफ-स्ट्रिंग ब्रेसिज़ के अंदर ब्रेसिज़ को शामिल करने का कोई तरीका है?
# what I have:
i=2
a={1:'a',2:'b',3:'c'}.get(i,'g')
b=f'{a} is the letter'
# what I want to do but get a syntax error:
b=f'{{1:'a',2:'b',3:'c'}.get(i,'g')} is the letter'
# desired output:
'b is the letter'
मैं dict().get
के लिए {}.get
अंकन की अदला-बदली नहीं कर सकता क्योंकि मेरी कुंजियां संख्याएं हैं (जब तक कि इसे समायोजित करने के लिए कोई हैक न हो, लेकिन यह संभवत: मेरे पास पहले से अधिक वर्ण होने के कारण समाप्त हो जाएगा)।
अग्रिम में धन्यवाद।
1 उत्तर
एक, आपको अपनी स्ट्रिंग पर विभिन्न उद्धरण प्रकारों का उपयोग करना होगा, अन्यथा तानाशाही शाब्दिक के अंदर के उद्धरण चीजों को गड़बड़ कर देंगे। दूसरे, आपको केवल शाब्दिक शब्दकोष और .get()
के आस-पास एक स्थान जोड़ना होगा:
b=f"{ {1:'a',2:'b',3:'c'}.get(i,'g') } is the letter"
रिक्त स्थान जोड़ने का स्रोत: यह उत्तर।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।