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()
fs = []
for i in range(1, 4):
fs.append(lambda x=i:x*x)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
2015-07-23
print filter(lambda s: s and s.strip(), ['test', None, '', 'str', ' ', 'END'])
何必加上len > 0
何必加上len > 0
2015-07-23
def count():
return [(lambda j=i:j*j) for i in range(1, 4)]
f1, f2, f3 = count()
print f1(), f2(), f3()
虽然没看懂老师讲的,但是楼下说的我看懂了。
return [(lambda j=i:j*j) for i in range(1, 4)]
f1, f2, f3 = count()
print f1(), f2(), f3()
虽然没看懂老师讲的,但是楼下说的我看懂了。
2015-07-23
def calc_prod(lst):
def f():
return reduce(lambda x,y:x*y,lst)
return f
f = calc_prod([1, 2, 3, 4])
print f()
def f():
return reduce(lambda x,y:x*y,lst)
return f
f = calc_prod([1, 2, 3, 4])
print f()
2015-07-23
def cmp_ignore_case(s1, s2):
return -1 if s1[0].upper()<s2[0].upper() else 1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
return -1 if s1[0].upper()<s2[0].upper() else 1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2015-07-23
import math
def is_sqr(x):
return math.sqrt(x)==math.floor(math.sqrt(x))
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return math.sqrt(x)==math.floor(math.sqrt(x))
print filter(is_sqr, range(1, 101))
2015-07-23
在Python 2里,filter()方法返回一个列表,这个列表是通过一个返回值为True或者False的函数来检测序列里的每一项得到的。
在Python 3里,filter()函数返回一个迭代器,不再是列表。打印出的是地址
在Python 3里,filter()函数返回一个迭代器,不再是列表。打印出的是地址
2015-07-22
我觉得写key参数比cmp参数方便:
你们对比一下:
cmp = lambda x, y: cmp(x.lower(), y.lower())
key = lambda x: x.lower()
你们对比一下:
cmp = lambda x, y: cmp(x.lower(), y.lower())
key = lambda x: x.lower()
2015-07-22
其实float类型有一个方法是is_integer()
所以这样可能是最简的写法了:
def is_sqr(x):
return math.sqrt(x).is_integer()
所以这样可能是最简的写法了:
def is_sqr(x):
return math.sqrt(x).is_integer()
2015-07-22
def format_name(s):
return s[:1].upper() + s[1:len(s)].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[:1].upper() + s[1:len(s)].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2015-07-21