小编dmi*_*tri的帖子

填充或截断Python列表

我想截断或填充列表.例如,大小为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)

有更优雅的方式吗?

python list python-2.7

17
推荐指数
3
解决办法
2790
查看次数

标签 统计

list ×1

python ×1

python-2.7 ×1