我到处寻找一种方法来做到这一点,但无济于事。我有一个列表,让我说我有这个列表:
['T','E','S','T']
我想找到一种方法将“:regional_indicator_”附加到开头,将“:”附加到列表中每个项目的末尾,其中原始列表字符位于中间,因此最终结果是:
[':regional_indicator_T:',':regional_indicator_E:',':regional_indicator_S:','regional_indicator_T']
答案 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 loops和String 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:']