मान लें कि हमारे पास इस तरह एक contact_list है:
[["Joey", 30080],["Miranda"],["Lisa", 30081]]
तो अनिवार्य रूप से "मिरांडा" में ज़िपकोड नहीं है, लेकिन जिस फ़ंक्शन के साथ मैं परिभाषित करना चाहता हूं, मैं चाहता हूं कि यह स्वचालित रूप से इसका पता लगाए और उसके मूल्य स्लॉट में "कोई नहीं" जोड़ें, जैसे:
{
"Joey": 30080,
"Miranda": None,
"Lisa": 30081
}
अब तक मेरे पास यह है, जो सिर्फ सूची को एक ताना में परिवर्तित करता है:
def user_contacts(contact_list):
dict_contact = dict(contact_list)
print(dict_contact)
सुनिश्चित नहीं है कि मैं यहाँ से कहाँ जाता हूँ, जहाँ तक "मिरांडा" के लिए कोई नहीं जोड़ने के लिए कोड में लिखना है। वर्तमान में, मुझे केवल एक त्रुटि मिलती है जो कहती है कि पहले तत्व ("मिरांडा") को एक के बजाय दो लंबाई की आवश्यकता होती है।
आखिरकार मैं परिभाषित फ़ंक्शन में उपरोक्त की तरह किसी भी सूची को पास करना चाहता हूं: user_contacts और, फिर से, आउटपुट के रूप में उपरोक्त शब्दकोश प्राप्त करने में सक्षम हो।
user_contacts([["Joey", 30080],["Miranda"],["Lisa", 30081]])
2 जवाब
ये कोशिश करें:
def user_contacts(contact_list):
dict_contact = dict((ele[0], ele[1] if len(ele) > 1 else None) for ele in
contact_list)
print(dict_contact)
तो यहाँ आप क्या कर सकते हैं। आप यह देखने के लिए जांच कर सकते हैं कि आपकी सूची में किसी निश्चित तत्व का len
अपेक्षाओं को पूरा करता है (इस मामले में, नाम और ज़िप कोड के लिए 2)। तो अगर यह उम्मीदों में विफल रहता है, तो आप "कोई नहीं" जोड़ सकते हैं:
contacts = [["Joey", 30080], ["Miranda"], ["Lisa", 30081]]
contacts_dict = {}
for c in contacts:
if len(c) < 2:
c.append('None')
contacts_dict.update({c[0]: c[1]})
print(contacts_dict)
और आउटपुट है:
{'Joey': 30080, 'Miranda': 'None', 'Lisa': 30081}
संबंधित सवाल
नए सवाल
python-3.x
पायथन प्रोग्रामिंग के बारे में प्रश्नों के लिए जो भाषा के संस्करण 3+ के लिए विशिष्ट हैं। सभी पायथन सवालों पर अधिक जेनेरिक [अजगर] टैग का उपयोग करें, और केवल यह जोड़ें यदि आपका प्रश्न संस्करण-विशिष्ट है। पायथन 2 प्रश्नों के लिए [अजगर -2] टैग का उपयोग करें।