我有一个很长的清单,如:
['This', 'Hello', 'Good', ...]
现在我想要一个新的列表,如下所示:
['This', 'This.','This,','This?','This!','This:','Hello','Hello.','Hello,','Hello?','Hello!','Hello:', 'Good', 'Good.', ...]
所以我想为每个单词添加标点符号。这甚至可能吗?
答案 0 :(得分:1)
这将是一个简单的方法:
newlist =[]
for item in oldlist:
newlist.append(item)
newlist.append(item+'.')
newlist.append(item+',')
newlist.append(item+'?')
newlist.append(item+'!')
newlist.append(item+':')
稍短一些:
newlist =[]
adds = ['', ',', '.', '?', '!', ':']
for item in oldlist:
for add in adds:
newlist.append(item+add)
或者作为列表理解:
adds = ['', ',', '.', '?', '!', ':']
newlist = [item+add for item in oldlist for add in adds]
作为一个班轮:
newlist = [item+add for item in oldlist for add in ['', ',', '.', '?', '!', ':']]
答案 1 :(得分:1)
一些功能性爱
from itertools import product
l1 = ['This', 'Hello', 'Good']
l2 = ['', '.', ',', '?', '!', ':']
newlist = ["".join(e) for e in product(l1, l2)]
print newlist