python - पाइथन निर्देश कुंजी बनाने या कुंजी के लिए तत्व जोड़ने के लिए कैसे?




python-2.7 python-3.x (3)

आप defaultdict लिए defaultdict उपयोग कर सकते हैं।

d = defaultdict(list)
d['key'].append('mykey')

यह setdefault तुलना में थोड़ा अधिक कुशल है क्योंकि आप नई सूचियां तैयार नहीं करते हैं जिनका उपयोग आप समाप्त नहीं करते हैं। setdefault प्रत्येक कॉल एक नई सूची बनाने जा रहा है, भले ही आइटम शब्दकोश में पहले से मौजूद है।

मैं पाइथन के लिए नया हूँ। न केवल मैं अपने कार्यों, प्रकारों और ऐसे सीख रहा हूं, बल्कि मैं चीजों को करने के लिए पाइथोनिक तरीकों को सीखने की कोशिश कर रहा हूं और इसलिए मेरा प्रश्न:

मेरे पास एक खाली शब्दकोश है। नाम: dict_x यह कुंजी है कि कौन से मान सूचियां हैं।

एक अलग पुनरावृत्ति से, मुझे dict_x के मान key_123 की सूची में एक कुंजी (उदा: key_123 ), और एक आइटम (एक key_123 ) प्राप्त key_123

यदि यह कुंजी पहले से मौजूद है, तो मैं इस आइटम को जोड़ना चाहता हूं। यदि यह कुंजी मौजूद नहीं है, तो मैं इसे एक खाली सूची के साथ बनाना चाहता हूं और उसके बाद इसे जोड़ना चाहता हूं या बस इसे एक टुपल के साथ बनाना चाहता हूं।

भविष्य में जब यह कुंजी फिर से आती है, क्योंकि यह मौजूद है, मैं चाहता हूं कि मूल्य फिर से जोड़ा जाए।

मेरे कोड में यह शामिल है:

कुंजी और मूल्य प्राप्त करें।

देखें कि dict_x में मौजूद कुंजी मौजूद नहीं है या नहीं

और यदि इसे नहीं बनाया गया है: dict_x[key] == []

बाद में: dict_x[key].append(value)

क्या ऐसा करने का यह तरीका है? क्या मैं कोशिश try/except ब्लॉक try/except उपयोग try/except कोशिश करूंगा?


आप collections में defaultdict का उपयोग कर सकते हैं।

डॉक्टर से एक उदाहरण:

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)

dict.setdefault() प्रयोग करें:

dic.setdefault(key,[]).append(value)

सहायता (dict.setdefault) :

    setdefault(...)
        D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D




dictionary