V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
lixia625
V2EX  ›  Python

问个代码问题

  •  
  •   lixia625 · 2014-10-24 12:34:52 +08:00 · 2622 次点击
    这是一个创建于 3469 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现有一个整型数的list,a=[1,1,5,6],大小不一,如果用Counter(a),可以统计出各个数出现的频率,1:2,5:1,6:1
    现在的问题是:如何统计某个区间段内a中整型数的个数;

    1-4:2,5-10:2

    有没有一些比较pythonic的做法
    还是只能自己按逻辑来写
    6 条回复    2014-10-25 01:39:02 +08:00
    andychen20121130
        1
    andychen20121130  
       2014-10-24 12:39:40 +08:00
    自己写。
    bcxx
        2
    bcxx  
       2014-10-24 12:42:34 +08:00
    可以先做一个 groupby 再 counter
    cxe2v
        3
    cxe2v  
       2014-10-24 12:47:59 +08:00
    你去除某个区间的数到一个临时LIST,再用Counter(a)统计不就可以了?
    flyee
        4
    flyee  
       2014-10-24 17:18:53 +08:00 via iPhone
    排序+二分
    catbaron
        5
    catbaron  
       2014-10-24 17:24:23 +08:00
    def Fltr(down,up,arr):
    return len(filter(lambda x:(x>=down and x <= up),arr))

    _(:з」∠)_
    lixia625
        6
    lixia625  
    OP
       2014-10-25 01:39:02 +08:00
    本来是想处理了数据画直方图,结果发现强大的matplotlib直接可以画都不用处理ORZ
    不过还是谢谢上面回复的朋友。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5466 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:51 · PVG 14:51 · LAX 23:51 · JFK 02:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.