【发布时间】:2016-01-28 06:41:47
【问题描述】:
我有很多单词:
my_list = ['[tag]', 'there', 'are', 'many', 'words', 'here', '[/tag]', '[tag]', 'some', 'more', 'here', '[/tag]', '[tag]', 'and', 'more', '[/tag]']
我希望能够计算整个列表中 [tag] 元素之间(包括)之间的元素数量。目标是能够看到频率分布。
我可以使用range() 来启动和停止字符串匹配吗?
【问题讨论】:
-
>>> from collections import Counter >>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red'] >>> Counter( z) 计数器({'blue': 3, 'red': 2, 'yellow': 1})
-
@ami,这不计算两个值之间的元素。那就是计算一个元素在整个列表中出现的次数。
-
我希望计算 [tag] 和 [/tag](含)之间的项目总数,而不是一个字符串在列表中出现的次数。
-
您的示例不包括任何不会被计算在内的条目。
-
range 是一个内置函数,它返回一个数字列表。如果您已经知道所有标签的列表索引,那么您可以使用 range 来生成标签内的列表项的索引。但是你就不需要它们了,因为你已经知道了这个问题所需的一切,而无需查看列表。
标签: python