def count():
fs = []
for i in range(1, 4):
fs.append(lambda x=i: x*x)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
感觉你们的代码好渣,多了解点lambda吧,打包循环变量
fs = []
for i in range(1, 4):
fs.append(lambda x=i: x*x)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
感觉你们的代码好渣,多了解点lambda吧,打包循环变量
2018-04-11
def performance(unit):
def func(f):
def was(*args,**kw):
print('call %s() %s'%(f.__name__,unit))
return f(*args,**kw)
return was
return func
def func(f):
def was(*args,**kw):
print('call %s() %s'%(f.__name__,unit))
return f(*args,**kw)
return was
return func
2018-04-11
def gcd(x, y):
if x < y:
x, y = y, x
while y:
x, y = y, x % y
return x
class Rational(object):
def __init__(self, p, q):
g = gcd(p, q)
self.p, self.q = p / g, q / g
def __str__(self):
return '%d/%d' % (self.p, self.q)
其他一样
if x < y:
x, y = y, x
while y:
x, y = y, x % y
return x
class Rational(object):
def __init__(self, p, q):
g = gcd(p, q)
self.p, self.q = p / g, q / g
def __str__(self):
return '%d/%d' % (self.p, self.q)
其他一样
2018-04-11
难道不是这么写吗 报错
def __cmp__(self, s):
if self.score < s.score:
return -1
elif self.score > s.score:
return 1
else:
return 0
def __cmp__(self, s):
if self.score < s.score:
return -1
elif self.score > s.score:
return 1
else:
return 0
2018-04-11
filter(lambda x : x if x and len(x.strip()) >0 ,list1 ) 这个错在哪里
2018-04-11
json的load()方法需要调用第一个参数的read()方法(我只列了第一个参数,load后面可附带很多参数,有兴趣的请去看json库的源码),json.load()的源码如下:
def load(fp):
return loads(fp.read())
也就是说使用json.load()时引入的参数必须包含一个read()方法,否则返回时会报错。“任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()”,所以……你自己写的类至少要有个read(),才可以传给json.load()用。不懂的人请看下源码或者多读几遍任务描述
def load(fp):
return loads(fp.read())
也就是说使用json.load()时引入的参数必须包含一个read()方法,否则返回时会报错。“任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()”,所以……你自己写的类至少要有个read(),才可以传给json.load()用。不懂的人请看下源码或者多读几遍任务描述
2018-04-11
list3 = ['adam','LISA','barT']
'''
def format_name(s):
return s.capitalize()
print map(format_name,list3)
'''
print [name.capitalize() for name in list3]
'''
def format_name(s):
return s.capitalize()
print map(format_name,list3)
'''
print [name.capitalize() for name in list3]
2018-04-10
使用列表推导式: list1 = [1,2,3,4,5,6,7,8,9] [x*x for x in list1]
2018-04-10
def add(x, y, f):
return f(x) + f(y)
def gen(num):
return num**0.5
print add(25, 9, gen)
return f(x) + f(y)
def gen(num):
return num**0.5
print add(25, 9, gen)
2018-04-10
def prod(x, y):
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
2018-04-10
def format_name(s):
return (s.lower()).title()
print map(format_name, ['adam', 'LISA', 'barT'])
return (s.lower()).title()
print map(format_name, ['adam', 'LISA', 'barT'])
2018-04-10