码迷,mamicode.com
首页 > 其他好文 > 详细

5.3.3.1 deque其它使用方式

时间:2016-01-09 11:05:24      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

在本节里提供了一些关于deque其它使用方式。

提供类似UNIX中的命令tail的功能,显示一个文件最后面一段文本:

def tail(filename, n=10):

    ‘返回文件最后的n行文本

    with open(filename) as f:

        return deque(f, n)

 

比如使用deque来计算一个移动平均数:

def moving_average(iterable, n=3):

    # moving_average([40, 30, 50, 46, 39, 44]) --> 40.0 42.0 45.0 43.0

    # http://en.wikipedia.org/wiki/Moving_average

    it = iter(iterable)

    d = deque(itertools.islice(it, n-1))

    d.appendleft(0)

    s = sum(d)

    for elem in it:

        s += elem - d.popleft()

        d.append(elem)

        yield s / n

移动平均线( Moving Average -MA) 也叫移动平均价, 是利用统计学上移动平均数的原理,将过去一定天数的证券,期货成交价格加以(加权)平均,连贯所得出的价位线。并根据其排列顺序、乘离、穿越、跌破等现象,来研究判进出场的时点。

 

使用rotate()来实现删除指定位置的元素:

def delete_nth(d, n):

    d.rotate(-n)

    d.popleft()

    d.rotate(n)

 


蔡军生  QQ:9073204  深圳

5.3.3.1 deque其它使用方式

标签:

原文地址:http://blog.csdn.net/caimouse/article/details/50486938

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!