我有一个使用List元素的字符串。
alist = ['a', 'b', 'c', 'd', 'e']
s = "my amazing string %s" % ('-'.join(alist))
这将返回my amazing string a-b-c-d-e"
现在我想要的是传递一个数字,它可以告诉我你应该只加入这么多元素。
例如〜如果我想只加入前3个元素
那么类似的东西 s = "my amazing string %<3>s" % ('-'.join(alist))
并输出
"my amazing string a-b-c"
我从其他地方来的主要字符串("my amazing string %s"
)。我有这个清单。
还有其他方法,例如使用.format()
PS:我再也不能使用list slice alist [:3],因为我不知道这个数字。
s = "my amazing string %<3>s" % ('-'.join(alist[:3]))
此数字将位于需要由此列表填充的主字符串中。只有这个字符串应包含这个信息,表明我们需要从这个列表中找到多少项
答案 0 :(得分:3)
使用切片
print '-'.join(alist[:3])
使用正则表达式
>>> alist = ['a', 'b', 'c', 'd', 'e']
>>> import re
>>> s = "my amazing string %<3>s"
>>> times = int(re.search(r'%<(\d+)>s', s).group(1))
>>> re.sub(r'(?<=\%)<\d+>(?=s)', '', s) % '-'.join(alist[:times])
'my amazing string a-b-c'