L2 = sorted(L1, lambda p1, p2:
cmp(p1.name, p2.name))返回值:-1,0,1
我负责赚钱养家,你负责貌美如花
cmp(p1.name, p2.name))返回值:-1,0,1
我负责赚钱养家,你负责貌美如花
2015-09-14
import os.path
os是包,path是模块
就是OS文件夹下有个path.py
不是os.path文件
python也只支持.py作为模块
当然,以上都是我瞎猜的
os是包,path是模块
就是OS文件夹下有个path.py
不是os.path文件
python也只支持.py作为模块
当然,以上都是我瞎猜的
2015-09-14
首先这题的要点是如何在闭包内部不使用外部循环变量,那么将i作为参数传入,所以fs.append(f(i)).但是下面的是函数调用:print f1(), f2(), f3(). 所以调用f(i)时要返回一个函数名。则在f()函数里面再写一个函数a().a()函数接受f()函数的参数,计算参数的平方。而在f()函数里面就可以直接返回a()函数的函数名了
2015-09-13
def count():
fs = []
for i in range(1, 4):
def f(x):
def a():
return x*x
return a
fs.append(f(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
fs = []
for i in range(1, 4):
def f(x):
def a():
return x*x
return a
fs.append(f(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
2015-09-13
import math
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 100))
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 100))
2015-09-12
import time
import sys
def performance(f):
def decorator(*args, **kw):
print time.strftime('%Y-%m-%d %H:%M:%S'), "Call %s() in %s" % (f.__name__,sys._getframe().f_code.co_name)
return f(*args, **kw)
return decorator
@performance
import sys
def performance(f):
def decorator(*args, **kw):
print time.strftime('%Y-%m-%d %H:%M:%S'), "Call %s() in %s" % (f.__name__,sys._getframe().f_code.co_name)
return f(*args, **kw)
return decorator
@performance
2015-09-11
def format_name(s):
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2015-09-11
def calc_prod(lst):
def prod(x,y):
return x*y
def lazy_prod():
return reduce(prod,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
def prod(x,y):
return x*y
def lazy_prod():
return reduce(prod,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
2015-09-10
import math
def is_sqr(x):
r = int(math.sqrt(x))
return r*r == x
print filter(is_sqr, range(1, 101))
def is_sqr2(x):
if math.sqrt(x) % 1 == 0:
return x
print filter(is_sqr2, range(1,101))
def is_sqr(x):
r = int(math.sqrt(x))
return r*r == x
print filter(is_sqr, range(1, 101))
def is_sqr2(x):
if math.sqrt(x) % 1 == 0:
return x
print filter(is_sqr2, range(1,101))
2015-09-10