8
A = [[]]*2
A[0].append("a")
A[1].append("b")
B = [[], []]
B[0].append("a")
B[1].append("b")
print "A: "+ str(A)
print "B: "+ str(B)
पैदावार:[[]] * 2 अजगर में क्या करता है?
A: [['a', 'b'], ['a', 'b']]
B: [['a'], ['b']]
एक उम्मीद होती है कि एक सूची बी सूची के रूप में ही हो सकता है, यह नहीं मामला है, दोनों कथनों संलग्न एक [0] और एक [1 करने के लिए लागू किया गया ]।
क्यों?
वहाँ एक बहुत अच्छा इस सूत्र में सूची के लिए पायथन के * ऑपरेटर की व्याख्या दी गई है: http://stackoverflow.com/questions/974931/multiply-operator-applied-to-listdata-structure –
@S। लॉट: यह मेरे लिए काफी स्पष्ट लगता है: दो बहुत ही समान रूप, [[]] * 2 और [[], []] उसी तरह से संचालित होने पर बहुत अलग परिणाम प्राप्त करते हैं। क्यूं कर? –