-
Notifications
You must be signed in to change notification settings - Fork 54
python内建函数
http://www.runoob.com/python/python-built-in-functions.html
range(start, stop[, step])
# 生成以5开始,到99,间隔为5
print(list(range(5,100,5)))
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
# 返回长度
len(list(range(5,100,5)))
19
map(function, iterable, ...)
方法: X**2
输入: [1,2,3,4,5]
返回: [1,4,9,16,25]
print(list(map(lambda x: x**2, range(1,6))))
[1, 4, 9, 16, 25]
方法:
输入: [1,2,3,4,5] , [8,9,10,11,12]
返回: [9, 11, 13, 15, 17]
print(list(map(lambda x, y: x + y, range(1,6), range(8,13))))
[9, 11, 13, 15, 17]
reduce(function, iterable[, initializer])
reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
from functools import reduce
def add(x, y):
return x+ y
print(reduce(add, [1, 3, 5, 7, 9]))
25
print(reduce(add, [1, 3, 5, 7, 9], 10))
35
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
def is_odd(n):
return (n>=5) & (n<11)
print(list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))
[5, 6, 9, 10]
sorted(iterable[, key[, reverse])
iterable -- 可迭代对象。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
sorted?
print(sorted([92, 175, 70, 1000]))
[70, 92, 175, 1000]
print(sorted(['MSFT', 'APPL', 'IBKR', 'GOOG'], reverse=True))
['MSFT', 'IBKR', 'GOOG', 'APPL']
L = [('MSFT', 92), ('APPL', 175), ('IBKR', 70), ('GOOG', 1000)]
L2 = sorted(L, key=lambda x:x[0])
print(L2)
[('APPL', 175), ('GOOG', 1000), ('IBKR', 70), ('MSFT', 92)]
L3 = sorted(L, key=lambda x:x[1], reverse=True)
print(L3)
[('GOOG', 1000), ('APPL', 175), ('MSFT', 92), ('IBKR', 70)]
-
python基础
-
python进阶
-
数据格式处理
-
数据计算与展示
-
因子横截面排序分析
-
信号时间序列分析
-
CTA策略类型
-
附录:因子算法