python – 计算集合列表中的多个匹配项
发布时间:2020-12-20 11:50:53 所属栏目:Python 来源:网络整理
导读:有没有办法计算一组字符串列表的出现次数? 例如,当我有这个列表时,它会计算7”空白. list = [[' ',' ',' ']]print(list.count(' ')) 有没有办法可以做同样的事情,但是对于一组多个列表?像这样举例如下: set = [[' ',' '],[' ',' ']]print(set.count(' '))
有没有办法计算一组字符串列表的出现次数?
例如,当我有这个列表时,它会计算7”空白. list = [[' ',' ',' ']] print(list.count(' ')) 有没有办法可以做同样的事情,但是对于一组多个列表?像这样举例如下: set = [[' ',' '],[' ',' ']] print(set.count(' ')) 当我这样做时,我得到的输出是0而不是实际的出现次数. 解决方法
解
这有效: >>> data = [[' ',' ']] >>> sum(x.count(' ') for x in data) 21 您需要计入每个子列表.我使用generator expression执行此操作并将所有子列表的结果相加. 性能 虽然在许多情况下并不重要,但性能可能很有趣: %timeit sum(x.count(' ') for x in data) 1000000 loops,best of 3: 1.28 μs per loop 与 %timeit sum(1 for i in chain.from_iterable(data) if i==' ') 100000 loops,best of 3: 4.79 μs per loop (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |