简单的数据生成程序zip和ordereddict

2018-10-15  本文已影响0人  十块腹肌的小胡子

1.a = 20170118

b = ('30','20','10')

data_array = [str(a + ind) for ind,_ in enumerate(b)]   遍历可变对象,将数据和数据下标列出

2.生成对应列表

tuple1 = [(date,price) for date,price in zip(data_array,b)]  生成日期 价格 tuple

3.采用namedtuple来生成,可以变量中加入名字

设定按照的顺序返回:使用OrderedDict

stock_dict = collections.OrderedDict((date,stock_namedtuple(date,price,change))for date,price,change in zip(data_array,price_array,change_array))

price_str = price_str.replace(' ','')   #去掉空格

price_array = price_str.split(',')    #按逗号分开

price_float_array = [float(x)for xin price_array]  #将字符串转化为float

pp_array =zip(price_float_array[:-1],price_float_array[1:])

print(list(pp_array))    #zip 生成一个列表需要list  zip(*pp_array)

bb=map(lambda pp: reduce(lambda a,b :round(b-a,3),pp),pp_array) 做处理一定要先list

4.三木表达式

条件为真d=b 否则 为c

法一 :d = b if a else c 

法二:d = a and b or c

5.类的封装:

_ 表示protect    __表private    __系统保留定义__

基类Foo的fun方法被@abstractmethod装饰了,所以Foo不能被实例化;子类SubA没有实现基类的fun方法也不能被实例化;子类SubB实现了基类的抽象方法fun所以能实例化。

上一篇下一篇

猜你喜欢

热点阅读