Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置列表的最小长度?_Python - Fatal编程技术网

Python 设置列表的最小长度?

Python 设置列表的最小长度?,python,Python,我有一个Python列表。我不知道它到底有多长,但我知道它不到15件 我想将它填充到正好15个项目的长度,为我需要添加的所有项目添加空字符串 在Python中有没有一种有效的方法来实现这一点 我希望: myarr = myarr[:15] 也许行得通,但不行 目前我有: if len(myarr) < 15: for i in range(15 - len(myarr)): myarr.append('') 如果len(myarr)

我有一个Python列表。我不知道它到底有多长,但我知道它不到15件

我想将它填充到正好15个项目的长度,为我需要添加的所有项目添加空字符串

在Python中有没有一种有效的方法来实现这一点

我希望:

myarr = myarr[:15]
也许行得通,但不行

目前我有:

if len(myarr) < 15:
    for i in range(15 - len(myarr)):
        myarr.append('')
如果len(myarr)<15:
对于范围内的i(15-len(myarr)):
myarr.append(“”)
还有更简洁的建议吗?

以一种简单的方式:

myarr += [""] * (15 - len(myarr))
myarr.extend([""]* (15 - len(myarr)))
以单行方式:

myarr.extend([""]* (15 - len(myarr)))
要使用纯切片(不调用len):

如果多次调用,则在模块范围内初始化一次ALL_空列表。然后做:

padded = (source + ALL_EMPTY)[:MAX_LEN]
要使用纯切片(不调用len):

如果多次调用,则在模块范围内初始化一次ALL_空列表。然后做:

padded = (source + ALL_EMPTY)[:MAX_LEN]

您可以编写一个类似于带填充的列表的自定义类。您可以编写一个类似于带填充的列表的自定义类。+1。这也不需要对
len(myarr)<15
进行测试,因为
*
重复操作符返回一个空列表,表示负重复计数。完美-简洁明了,正是我想要的!谢谢@KarolyHorvath,如果字符串是可变的,为什么它不起作用?@K3--rnc:它对可变字符串起作用,但可能有意外的副作用。这会将同一字符串对象的多个副本追加到列表中,因此修改我们假定为可变的字符串对象之一将修改所有这些字符串对象。+1。这也不需要对
len(myarr)<15
进行测试,因为
*
重复操作符返回一个空列表,表示负重复计数。完美-简洁明了,正是我想要的!谢谢@KarolyHorvath,如果字符串是可变的,为什么它不起作用?@K3--rnc:它对可变字符串起作用,但可能有意外的副作用。这会将同一字符串对象的多个副本追加到列表中,因此修改我们假定为可变的字符串对象之一将修改所有这些字符串对象。