根据Python中的模式进行数据操作

时间:2014-06-01 04:53:07

标签: python-2.7

问题陈述以格式处理数据时间序列生成:[(datavalue1,datetime1),(datavalue2,datetime2),(datevalue3,datetime3),....]

现在,以下是用户所需的输入: (a。)系列中没有要生成的值。 (b。)日期时间1由用户在" YYYY-MM-DD HH-MM-SS"格式或可以在本地作为当前时间从机器。 (c。)两个日期时间值之间的时间间隔。 (d。)最大和最小数据值,随机值取自" DataValue1"。 (e。)来自用户的随机模式,例如+ 3 + 2-1-2或-3 + 2或-1-2 + 3-4 + 5等。

1 个答案:

答案 0 :(得分:0)

请尝试以下代码:

def series(x, pattern):
    pattern = [pattern[i:i+2] for i in range(0, len(pattern), 2)]
    start = x
    results = []
    for k in pattern:
        for i in range(5):
            start = eval('start+%s' %(k))
            results.append(start)
    return results

运行如下:

>>> series(70, "+1+3-2-1")
[71, 72, 73, 74, 75, 78, 81, 84, 87, 90, 88, 86, 84, 82, 80, 79, 78, 77, 76, 75]

上面的代码只使用了4个基本的for循环来按指定的次数添加/减去特定值。