我有一个字符串列表。我想提取每个字符串中的第二个单词,并将其保存到新列表中。有些元素只有一个单词。你知道吗
l = ["OPTY PLN EXTRCT","MRKT COMMUNITY TABLE", "COMM", "EXT OPTY EMP"]
期望输出:
output = ['PLN', 'COMMUNITY', 'OPTY']
列表理解可以提取第一个单词。你知道吗
[i.split()[0] for i in l]
下面的代码抛出索引错误,因为列表中的元素只有一个单词。你知道吗
[i.split()[1] for i in l]
如果元素只有一个单词,我希望迭代跳过它继续。 我正在尝试,但没有成功地得到它的工作。你知道吗
你可以在你的理解中添加if条件,比如
... if len(i.split()) > 1]
,但是这需要你将单词拆分两次,这里我们使用map()
为l
的每个元素做一次。你知道吗输出:
或者,如果您使用的是python3.8,我们可以使用新的^{} 表示法。你知道吗
如果单词是空字符串,只包含空格,并且包含字符但中间没有空格,则此操作将从列表中排除该单词。因此,你应该至少有两个词,它分裂和提取。请注意,我的拆分解决方案会在第二个单词之后停止拆分,因此字符串中可能有很多单词,但是split()不会因为处理所有单词而浪费时间。你知道吗
相关问题 更多 >
编程相关推荐