2013-05-24 12 views

उत्तर

7
[[]] * 2 

एक shallow copy. बनाता है समतुल्य:

x = [] 
t0 = [x, x] 

हालांकि

t1 = [[], []] 

दो अलग-अलग खाली सूची शाब्दिक का उपयोग करता है, वे पूरी तरह से अलग तो एक परिवर्तनशील स्पष्ट रूप से अन्य

+0

अगर मैं खाली सूची के साथ एक सूची घोषित करना चाहता हूं, तो मैं कैसे कर सकता हूं? –

+0

@ user1807991 'आइटम्स = [[] क्योंकि मैं रेंज (एन) में हूं] 'ध्यान दें कि यह सूची सूची में खाली सूची का उपयोग कैसे करता है यह सुनिश्चित करने के लिए कि वे अलग हैं – jamylak

10

जब आप [[]] * 2 करते हैं, तो यह आपको दो सूचियों की बजाय की एक ही सूची वाली एक सूची देता है। यह कर की तरह है:

a = [] 
b = [a, a] 

हमेशा की तरह कई अलग खाली सूचियों (या अन्य अस्थायी वस्तुओं) से युक्त एक सूची बनाने के लिए यह करने के लिए है:

t1 = [[] for _ in range(5)] 
+0

और भी बेहतर उत्परिवर्तित नहीं है परिवर्तनशील का कहना है हो सकता है कर रहे हैं, बनाम अपरिवर्तनीय वस्तुओं। जैसे कि tuples और सूचियों के साथ व्यवहार में अंतर दिखा रहा है? – Arafangion

संबंधित मुद्दे