How to clone or copy a set in Python? -
एक सूची की प्रतिलिपि बनाने के लिए: एक डिक्ट्री की प्रतिलिपि बनाने के लिए: लेकिन एक लेकिन यह काम करता है। इसलिए मैं प्रश्न पोस्ट कर रहा हूं और संदर्भ के लिए यहां उत्तर देता हूं। यदि किसी और के पास एक ही भ्रम है। ये दोनों सेट के डुप्लिकेट देंगे: < / p> या: <पूर्व> इसका कारण यह है कि नहीं से ऊपर का पहला सेट सेट का सेट देता है, यह है कि इसके लिए उचित वाक्यविन्यास तो प्रतिकृति के लिए अंगूठे का नियम पायथन (सूचियों, सेट, सेट, फ्रोजेंसेट, स्ट्रिंग) में मूल डेटा संरचनाओं का कोई भी उदाहरण: इसलिए, यदि ध्यान दें कि केवल shallow_copy_of_list = old_list [:] ।
isow_copy_of_dict = dict (old_dict) ।
सेट के लिए, मैं चिंतित था कि ऐसा कोई भी काम नहीं करेगा, क्योंकि
new_set = set (old_set) एक सेट का सेट दे सकता है?
shallow_copy_of_set = set (old_set)
shallow_copy_of_set = old_set.copy () # जो अधिक पठनीय है ।
set ([ old_set]) । जो काम नहीं करेगा, क्योंकि
सेट s अन्य
सेट s में तत्व नहीं हो सकते, क्योंकि ये अस्थिरता के आधार पर अयोग्य हैं। हालांकि, यह
frozenset s के लिए सही नहीं है, इसलिए
फ्रॉजेन्सेट (फ्रोजेंसेट (फ्रोजेंसेट ([1, 2, 3])) == फ्रोज़नसेट ([1, 2, 3]) ।
a2 = सूची (ए) # ए एक सूची है b2 = सेट (बी) # b एक सेट सी 2 = डिक्ट (सी) # सी एक डिक्ट डी 2 = फ्रोजेंसेट (डी) # डी एक फ्रोजेंसेट ई 2 = स्ट्र (ई) # ए स्ट्रिंग है # सभी उपरोक्त (उथले) प्रति देते हैं।
x उन प्रकारों में से एक है, तो
shallow_copy_of_x = प्रकार (x) (x) # हाली अपठनीय! लेकिन आर्थिक रूप से
dict ,
सेट और
frozenset में अंतर्निहित
copy है ( ) विधि यह शायद एक अच्छा विचार होगा कि सूचियों और तारों में एक
copy () विधि भी थी, एकरूपता और पठनीयता के लिए लेकिन वे कम से कम पायथन 2.7.3 में नहीं हैं, जिनके साथ मैं परीक्षण कर रहा हूं।
Comments
Post a Comment