我有两个要加入字符串的字符串列表。基本上,如果我有两个列表:
name = ['Name1', 'Name2', 'Name3']
link = ['Link1', 'Link2', 'Link3']
我想将它们插入到一个字符串中,如下所示:
<a href="%s">%s
这可以使用 join 来完成还是我需要使用 for 循环?
['<a href="%s">%s' % (n, l) for (n, l) in zip(name, link)]
但是不要忘记适当地进行编码n
以l
防止安全问题。
@Ignacio 的答案非常适合此应用程序。
根据预期用途,您可能需要创建一个具有正确数量占位符的字符串。
from itertools import chain, izip
name = ['Name1', 'Name2', 'Name3']
link = ['Link1', 'Link2', 'Link3']
args = [i for i in chain.from_iterable(izip(name, link))]
placeholder = ''.join(["<a href=%s>%s"] * len (name))
# combined to make '<a href=%s>%s<a href=%s>%s<a href=%s>%s'
print placeholder % tuple(args)
两个有用的技巧 (a) 使用列表乘法来根据需要复制占位符字符串,以及 (b) 记住 % 需要一个元组参数。这是扩展占位符列表时的常见模式