Shi Mu wrote: > Got confused by the following code: > >>> a > [6, 3, 1] > >>> b > [4, 3, 1] > >>> c > {1: [[6, 3, 1], [4, 3, 1]], 2: [[6, 3, 1]]} > >>> c[2].append(b.sort()) > >>> c > {1: [[6, 3, 1], [1, 3, 4]], 2: [[6, 3, 1], None]} > #why c can not append the sorted b?? > >>> b.sort() > >>> b > [1, 3, 4] most built-in function/method don't return the "object" but None. This I believe is the language creator's preference for everything being explicit. You better do it like this :
b.sort() c[2].append(b) Of course, this make things like this not possible : obj.method_a().method_b().method_c() But the language(and the community) in general discourage you to write code like this ;-) -- http://mail.python.org/mailman/listinfo/python-list