我有一个不同大小的列表列表,但我想让它们都具有相同的长度。例如,如果长度小于 5,则通过用零填充来使它们的长度为 5;如果长度大于 5,则剪切列表。例如,我有一个列表:
foo = [
[1, 2, 3],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5, 6, 7]]
Run Code Online (Sandbox Code Playgroud)
result = [
[1, 2, 3, 0, 0],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)
如果列表列表很大,您是否有最佳且快速的解决方案的想法?
制作一个填充列表并使用切片来获得适当的长度。
n = 5
fill = [0] * n
result = [sublist[:n] + fill[len(sublist):] for sublist in foo]
Run Code Online (Sandbox Code Playgroud)