python - 按子字符串获取列表中字符串 obj 的数量

标签 python

我有一个像这样的Python列表:

date_list = ['2016-01-11','2016-02-05','2016-02-24','2016-03-15','2016-03-12']

我想获取包含特定子字符串的对象的计数(例如2016-02-)。

实际上我有一些东西,但不幸的是它只适用于字符串匹配。

print (dates1.count("2016-01-")) # doesn't work
print (dates1.count("2016-01-11")) # works

我可以通过循环 date_list 来分两步完成,删除最后 2 个字符,但是使用更优雅的解决方案会很棒,所以如果有人可以展示一个如果可能的话,更聪明的方法。

我的目标是得到这样的东西:

2016-01  1
2016-02  2
2016-03  2

最佳答案

您可以在collections.Counter中使用列表理解:

>>> from collections import Counter
>>> Counter([d.rsplit('-',1)[0] for d in date_list])
Counter({'2016-03': 2, '2016-02': 2, '2016-01': 1})

关于python - 按子字符串获取列表中字符串 obj 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635805/

相关文章:

c++ - 如何编写监听网络流量的程序? (即 wireshark)

python - 使用 lxml etree 通过 xml 文件进行条件循环

python - Python 中的数值精度损失

python - 从 Python 中的统一类获取属性

python - '_csv.writer' 对象没有属性 'write'

python - numpy 如何用整个 array2 替换 array1 中的单个元素

python - 使用python根据经度和纬度匹配两个数据集

python - 在 1 年的时间跨度内有效地分发大量事件

python - 是什么原因导致Python中出现这个属性错误?

python - Seaborn 热图按列