如何将文本附加到列表中每个项目的开头和结尾?

时间:2017-08-24 00:16:44

标签: string python-3.6

我到处寻找一种方法来做到这一点,但无济于事。我有一个列表,让我说我有这个列表:

['T','E','S','T']

我想找到一种方法将“:regional_indicator_”附加到开头,将“:”附加到列表中每个项目的末尾,其中原始列表字符位于中间,因此最终结果是:

[':regional_indicator_T:',':regional_indicator_E:',':regional_indicator_S:','regional_indicator_T']

2 个答案:

答案 0 :(得分:0)

使用范围一次在列表中迭代一个元素(在这种情况下,len(li)返回4,因此range(4)将为0-1-2-3,这是索引你的清单)。

li = ['T','E','S','T']
for _ in range(len(li)):
  li[_] = ":regional_indicator_" + li[_] + ":"
print(li)

如您所见,我们可以使用+运算符连接字符串。

要忽略列表中的空条目(空格),您可以添加一个支票:

li = ['T','E','S','T']
for _ in range(len(li)):
    if ( len(li[_]) > 0 ) and ( li[_] != " " ): 
        li[_] = ":regional_indicator_" + li[_] + ":"
print(li)

详情请见Iterating over a list using for loopsString Concatenation

答案 1 :(得分:0)

您可以使用map并应用将为您进行连接的lambda:

map(lambda x: ':regional_indicator_{}:'.format(x), ['T', 'E', 'S', 'T'])

无论你使用map做什么,你也可以使用列表理解:

 [':regional_indicator_{}:'.format(x) for x in ['T', 'E', 'S', 'T']]

<强>输出

[':regional_indicator_T:', ':regional_indicator_E:', ':regional_indicator_S:', ':regional_indicator_T:']