我有一个Python列表。我不确切知道它有多长,但我知道它长度不到15个。
我想将它填充到15个项目长度,为我需要添加的所有项目附加空字符串。
有没有一种有效的方法在Python中执行此操作?
我希望:
myarr = myarr[:15]
可能有效,但事实并非如此。
目前我有:
if len(myarr) < 15:
for i in range(15 - len(myarr)):
myarr.append('')
更紧凑的建议?
答案 0 :(得分:9)
myarr += [""] * (15 - len(myarr))
答案 1 :(得分:4)
采用oneliner方式:
myarr.extend([""]* (15 - len(myarr)))
答案 2 :(得分:3)
使用纯切片(不调用len):
padded = (source + [''] * MAX_LEN)[:MAX_LEN]
如果多次调用,则在模块范围初始化一次ALL_EMPTY列表。然后做:
padded = (source + ALL_EMPTY)[:MAX_LEN]