打包最大长度为n的可变长度列表的惯用方式


问题内容

我正在读取文件并像这样解压每一行:

for line in filter(fh):
  a, b, c, d = line.split()

但是,行可能比我希望解包的变量具有更多或更少的列。在数量较少的情况下,我想分配None给悬挂变量,在数量较多的情况下,我想忽略它们。惯用的方法是什么?我正在使用python
2.7。


问题答案:

固定列表的长度,用填充None

def fixLength(lst, length):
    return (lst + [None] * length)[:length]