我有一个列表过滤器= ['a', 'b', 'c']。我需要将以下字符串从列表中取出 “项目-a项目-b项目-c”。哪种方法最有效?通常列表过滤器包含 100 到 200 个项目,每个项目的长度为 100 - 150。这不会导致溢出吗?支持的字符串最大长度是多少?
更简洁的方法:
filter = ['a', 'b', 'c']
" ".join(["item -%s" % val for val in filter])
这对于大型数组来说效果很好,例如。
filter = ['a'*1000] * 1000
。
你可以使用join(我相信
join
在Python 3.0中是一样的):
>>> l = ['a','b','c']
>>> print ' item -'.join([''] + l)
>>> ' item -a item -b item -c'
>>> print ' item -'.join([''] + l).lstrip(' ') # eat the leading space
>>> 'item -a item -b item -c'
再次与
join
但是对于
f-string
,这将是:
filter = ['a', 'b', 'c']
print(" ".join([f"item -{val}" for val in filter]))
正如前面提到的,避免使用关键字来命名你的变量。