我想截断或填充列表.例如,大小为4:
[1,2,3] -> [1,2,3,0]
[1,2,3,4,5] -> [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
我可以看到几种方式:
def trp(l, n):
""" Truncate or pad a list """
r = l[:n]
if len(r) < n:
r.extend([0] * (n - len(r)))
return r
Run Code Online (Sandbox Code Playgroud)
或者更短但效率更低:
map(lambda x, y: x if x else 0, m[0:n], [0] * n)
Run Code Online (Sandbox Code Playgroud)
有更优雅的方式吗?