如果满足某些条件,如何组合列表的元素.
我见过关于组合列表元素的帖子,但没有一些条件.
假设我有一个包含单词列表的列表:
words = [
['this','that!','riff','raff'],
['hip','hop!','flip!','flop'],
['humpty','dumpty!','professor!','grumpy!']
]
Run Code Online (Sandbox Code Playgroud)
如何仅组合包含!
?的元素?
例如,输出将如下所示:
[['this', 'that!', 'riff', 'raff'],
['hip', 'hop!, flip!', 'flop'], # 1,2 are now combined
['humpty', 'dumpty!, professor!, grumpy!']] # 1,2,3 are now combined
Run Code Online (Sandbox Code Playgroud)
我试过这个:
for word in words:
word = ', '.join(i for i in word if re.search('!',str(i)))
print word
Run Code Online (Sandbox Code Playgroud)
但得到了:
that!
hop!, flip!
dumpty!, professor!, grumpy!
Run Code Online (Sandbox Code Playgroud)
谢谢.