Jadi saya bertanya-tanya bagaimana cara terbaik membuat daftar daftar kosong:
[[],[],[]...]
Karena cara Python bekerja dengan daftar di memori, ini tidak berfungsi:
[[]]*n
Ini memang membuat [[],[],...]tetapi setiap elemen adalah daftar yang sama:
d = [[]]*n
d[0].append(1)
#[[1],[1],...]
Sesuatu seperti pemahaman daftar berfungsi:
d = [[] for x in xrange(0,n)]
Tapi ini menggunakan VM Python untuk perulangan. Apakah ada cara untuk menggunakan loop tersirat (memanfaatkannya karena ditulis dalam C)?
d = []
map(lambda n: d.append([]),xrange(0,10))
Ini sebenarnya lebih lambat. :(
timeit, apa yang Anda pelajari?
map(lambda x: [], xrange(n))itu lebih lambat dari pemahaman daftar.
d = [[] for x in xrange(0,n)]. Anda harus melakukan loop secara eksplisit dengan Python atau memanggil fungsi Python / lambda berulang kali (yang seharusnya lebih lambat). Tapi tetap berharap seseorang akan memposting sesuatu yang menunjukkan bahwa saya salah :).