【发布时间】:2019-08-09 19:34:18
【问题描述】:
我有一个字符串列表,我想将所有标记提取到一组标记中,而不是一组列表。我需要把每个令牌都混在一起。
我的句子存储为“句子”中的字符串列表
所以如果尝试:
words = set([])
a=set(sentences[1].split())
b=set(sentences[2].split())
a.union(b)
我把 a 和 b 集放在一个这样的集合中。这就是我要找的东西
{',', '.', '2.252', '35-1/7', '37-year-old', 'B', 'Blood', 'Fred', 'G4', 'Grauman', 'O+', 'P3-5', 'pregnancy', 'product', 'rubella', surface', 'the', 'to', 'type', 'week', 'woman'}
但使用列表理解
words = set()
[words.union(set(sent.split())) for sent in sentences]
输出是一个集合列表,像这样
[{'.', 'Care', 'He', 'Intensive', 'Neonatal''}, {'.', '2.252', 35-1/7', '37-year-old', 'Fred', 'G4', 'Grauman','}]
是否可以通过一些紧凑的代码行(如列表理解)来获得我需要的东西?
====
好吧,在对“单词”进行列表理解之后,我刚刚做了,
a = set()
a.union(*words)
【问题讨论】:
-
"compact clean line"是什么意思?
-
好吧,就像列表理解一样好。简短而具体的
-
刚刚编辑了我所做的答案。谢谢,Python 新手,感谢您的建议。
-
@SantiagoAlcaide 最好发布你所做的作为对这个问题的回答,并接受它。据我所知,您的解决方案是最佳的。