varunl के वर्तमान में स्वीकार जवाब नंबर की तरह गैर संदर्भ प्रकार के लिए
>>> l = [None] * 10
>>> l
[None, None, None, None, None, None, None, None, None, None]
वर्क्स में अच्छी तरह से। दुर्भाग्यवश यदि आप सूची-सूची सूचियां बनाना चाहते हैं तो आप त्रुटियों को संदर्भित करने में भाग लेंगे। पायथन 2.7.6:
>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
>>>
जैसा कि आप देख सकते हैं, प्रत्येक तत्व एक ही सूची वस्तु को इंगित कर रहा है। इसके आस-पास पहुंचने के लिए, आप एक विधि बना सकते हैं जो प्रत्येक स्थिति को एक अलग ऑब्जेक्ट संदर्भ में प्रारंभ करेगी।
def init_list_of_objects(size):
list_of_objects = list()
for i in range(0,size):
list_of_objects.append(list()) #different object reference each time
return list_of_objects
>>> a = init_list_of_objects(10)
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append(0)
>>> a
[[0], [], [], [], [], [], [], [], [], []]
>>>
वहाँ संभावना एक डिफ़ॉल्ट है, यह कर (बजाय एक समारोह लेखन) की अंतर्निहित अजगर रास्ता है, लेकिन मुझे यकीन है कि यह क्या है नहीं कर रहा हूँ। सही होने के लिए खुश होंगे!
संपादित करें: यह [ [] for _ in range(10)]
उदाहरण:
>>> [ [random.random() for _ in range(2) ] for _ in range(5)]
>>> [[0.7528051908943816, 0.4325669600055032], [0.510983236521753, 0.7789949902294716], [0.09475179523690558, 0.30216475640534635], [0.3996890132468158, 0.6374322093017013], [0.3374204010027543, 0.4514925173253973]]
कारण है कि आप एक खाली सूची बनाने की जरूरत है? –
संभव डुप्लिकेट [पायथन में तत्वों की एक ज्ञात संख्या में एक सूची आरंभ करना] (http://stackoverflow.com/questions/521674/initializing-a-list-to-a-known- number-of-elements-in- पायथन) – lumbric
परिभाषा के अनुसार एक "खाली सूची" ('[]') शून्य तत्व है। जो आप स्पष्ट रूप से चाहते हैं वह 'कोई नहीं', '0', या' '' जैसे झूठे मूल्यों की एक सूची है। – dan04