字符串格式[重复]

问题描述 投票:0回答:3

我有一个列表过滤器= ['a', 'b', 'c']。我需要将以下字符串从列表中取出 “项目-a项目-b项目-c”。哪种方法最有效?通常列表过滤器包含 100 到 200 个项目,每个项目的长度为 100 - 150。这不会导致溢出吗?支持的字符串最大长度是多少?

python-3.x python
3个回答
4
投票

更简洁的方法:

filter = ['a', 'b', 'c']
" ".join(["item -%s" % val for val in filter])

这对于大型数组来说效果很好,例如。

filter = ['a'*1000] * 1000


1
投票

你可以使用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'

0
投票

再次与

join

但是对于

f-string
,这将是:

filter = ['a', 'b', 'c']
print(" ".join([f"item -{val}" for val in filter]))

正如前面提到的,避免使用关键字来命名你的变量。

© www.soinside.com 2019 - 2024. All rights reserved.