I've checked the post and answers on the SO post Printing list elements on separated lines in Python, while I think my problem is a different one.
What I want is to transform:
lsts = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
into the output like below:
[[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1]]
I tried append, print in the for loop
and "\n".join() but all failed.
解决方案
To achieven exactly what you want, you could manually unroll and print the outer array like already suggested:
>>> lsts = [[1], [2,3], [4, 5, 6]]
>>> print("[" + ",\n".join(str(i) for i in lsts) + "]")
[[1],
[2, 3],
[4, 5, 6]]
Not exactly what you requested, but json.dumps can do some pretty-printing by specifying an indent:
>>> print(json.dumps(lsts, indent=4))
[
[
1
],
[
2,
3
],
[
4,
5,
6
]
]
And then there's pprint, which is intended for somewhat intelligent printing for humans:
>>> pprint(lsts, width=20)
[[1],
[2, 3],
[4, 5, 6]]