Obwohl ich ein mehrdimensionales Array verwende, ist es mühsam, in Listeneinschlussnotation zu schreiben, und es ist nicht lesbar.
def mlist(n, *args, **keys):
if len(args) == 0:
return [keys.get('default')] * n
else:
return [mlist(*args, **keys) for i in range(n)]
print mlist(5)
# [None, None, None, None, None]
print mlist(2, 3, default='a')
# [['a', 'a', 'a'], ['a', 'a', 'a']]
print mlist(4, 3, 2, default=1)
# [[[1, 1], [1, 1], [1, 1]], [[1, 1], [1, 1], [1, 1]], [[1, 1], [1, 1], [1, 1]], [[1, 1], [1, 1], [1, 1]]]
Recommended Posts