我有一个像这样的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/