您的位置:首页 > 编程语言 > Python开发

python常用函数

2015-08-29 22:44 639 查看
# coding=utf-8_
import string

_author__ = "leaves"
print '--------------begin-range------------------'
s = range(5)  # 从0开始计数
print s
s = range(1, 5)
print s
s = range(1, 5, 2)
print s
print '--------------end-range------------------'

print '--------------begin-filter------------------'
# filter(function, sequence):对sequence中的item依次执行function(item),
# 将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回
def f(x):
    return x % 2 != 0 and x % 3 != 0

s = filter(f, range(1, 20))
print s
s = filter(f, (1, 2, 3, 4, 5, 6, 7, 8, 9))
print s
print '--------------end-filter------------------'

print '--------------begin-map------------------'
# map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回
def f(x):
    return x * 3

s = map(f, range(1, 10))
print s

s = map(f, 'abckef')
print s

def add(x, y):
    return x + y

map(add, range(1, 10), range(11, 20))
print '--------------end-map------------------'

print '--------------begin-reduce------------------'
# reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用
def f(x, y):
    return x + y

s = reduce(f, range(1, 11))
print s  # 55 (注:1+2+3+4+5+6+7+8+9+10)
s = reduce(f, range(1, 11), 20)
print s  # 75 (注:1+2+3+4+5+6+7+8+9+10+20)

print '--------------end-reduce------------------'

print '--------------begin-lambda------------------'
# lambda:这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda的函数,是从LISP借用来的,可以用在任何需要函数的地方
g = lambda x: x * 3

s = g(3)
print s
# 不能在lambda中使用print
# f = lambda x: print x
# s = g(2)

print '--------------end-lambda------------------'
print '--------------begin-filter------------------'
l = 'fda:  :fdafdsafk   :   :fdsafafda:  fdaskf:'
kmpathes = filter(lambda kmpath: kmpath,
                  map(lambda kmpath: string.strip(kmpath),
                      string.split(l, ':')))
print kmpathes
print '--------------end-filter------------------'
print '--------------begin-max-min------------------'
print max(1, 2)
print min(1,2)
print max (2,-44,4,54,-88)
print max (2,-44,4,54,-88,key=abs)
print '--------------end-max-min------------------'
输出:
--------------begin-range------------------[0, 1, 2, 3, 4][1, 2, 3, 4][1, 3]--------------end-range--------------------------------begin-filter------------------[1, 5, 7, 11, 13, 17, 19](1, 5, 7)--------------end-filter--------------------------------begin-map------------------[3, 6, 9, 12, 15, 18, 21, 24, 27]['aaa', 'bbb', 'ccc', 'kkk', 'eee', 'fff']--------------end-map--------------------------------begin-reduce------------------5575--------------end-reduce--------------------------------begin-lambda------------------9--------------end-lambda--------------------------------begin-filter------------------['fda', 'fdafdsafk', 'fdsafafda', 'fdaskf']--------------end-filter--------------------------------begin-max-min------------------2154-88--------------end-max-min------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: