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

How to append text to beginning and end of each item in a list?

我到处寻找实现此目的的方法,但无济于事。我有一个列表,假设我有这个列表:

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

我想找到一种方法,将“:regional_indicator_”附加到列表中每个项目的开头,将“:”附加到列表中的每个项目的末尾,原始列表字符介于两者之间,所以最终结果是:

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

使用范围一次遍历列表一个元素(在这种情况下,len(li) returns 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 loops and String Concatenation

您可以使用 map 并应用将为您进行串联的 lambda:

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

无论你可以用地图做什么,你也可以用列表推导来做:

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

输出

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