2017-04-08 133 views
0

我有以下列表:如何将字符串连接到字符串列表的每个元素?

sentence = ['doc1','doc2','doc3','doc4'] 

我怎么能在sentece每个elment结束串联.txt? (*):

['doc1.txt','doc2.txt','doc3.txt','doc4.txt'] 

我试图列表理解:

'.txt '.join(sentence[:-1]) 

尽管如此,它返回:

'doc1.txt doc2.txt doc3' 

哪项是错误的,因为它是从(*)

不同

回答

2

你并不是试图将整个字符串连接在一起,只需将.txt添加到每个字符串中即可:

>>> [s + '.txt' for s in sentence] 
['doc1.txt', 'doc2.txt', 'doc3.txt', 'doc4.txt'] 

不确定为什么要切掉最后一个元素。

+0

我看到...谢谢你帮我澄清这个问题。 –

+0

我认为这将是相同的结果.. –

2

另一种方法:

>>> sentence = ['doc1','doc2','doc3','doc4'] 
>>> list(map(lambda x : x + '.txt', sentence)) 
['doc1.txt', 'doc2.txt', 'doc3.txt', 'doc4.txt'] 
1

您可以使用地图和lambda

map(lambda x:x+'.txt', sentence) 

输出:

['doc1.txt', 'doc2.txt', 'doc3.txt', 'doc4.txt'] 
相关问题