def cmp_ignore_case(x):
return x.lower()
print sorted(map(cmp_ignore_case,['bob', 'about', 'Zoo', 'Credit']))
return x.lower()
print sorted(map(cmp_ignore_case,['bob', 'about', 'Zoo', 'Credit']))
2015-05-10
print filter(lambda s: s and len(s.strip()) > 0, ['test', None, '', 'str', 'END'])
2015-05-10
注意:map()函数不改变原有的 list,而是返回一个新的 list。
利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。
由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。
利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。
由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。
2015-05-09
def performance_decorator(f):
def wrapper(*args,**kw):
t1=time.time()
r=f(*args,**kw)
t2=time.time()
t=(t2-t1)*1000 if unit=='ms' else (t2-t1)
print 'call %s() in %f %s'%(f.__name__,t,unit)
def wrapper(*args,**kw):
t1=time.time()
r=f(*args,**kw)
t2=time.time()
t=(t2-t1)*1000 if unit=='ms' else (t2-t1)
print 'call %s() in %f %s'%(f.__name__,t,unit)
2015-05-09
def is_sqr(x):
for i in range(1,11):
if x== i*i:
return x
print filter(is_sqr, range(1, 101))
for i in range(1,11):
if x== i*i:
return x
print filter(is_sqr, range(1, 101))
2015-05-09
属性不就是实现了set方法和get方法的实例变量吗?我认为老师讲的思路没有错,一楼的说法只能是作为一个记忆性理解,@property本质上就是装饰器,使函数实现set方法和get方法
2015-05-09
最后是显示2还是显示2/1我觉得都可以吧,2/1能够反应数据类型,2更加符合常识:
def __str__(self):
if self.q == 1:
return '%s' % self.p
else:
return '%s/%s' % (self.p,self.q)
def __str__(self):
if self.q == 1:
return '%s' % self.p
else:
return '%s/%s' % (self.p,self.q)
2015-05-09
def simple(self):
for i in range(int(max(self.p,self.q)**1/2)):
if ( self.p % (i + 2) == 0 ) and ( self.q % (i + 2) == 0 ):
self.p = self.p / (i+2)
self.q = self.q / (i+2)
return self
for i in range(int(max(self.p,self.q)**1/2)):
if ( self.p % (i + 2) == 0 ) and ( self.q % (i + 2) == 0 ):
self.p = self.p / (i+2)
self.q = self.q / (i+2)
return self
2015-05-09
如果list中含有其他的类,则应该先检查类是否一致:
def __cmp__(self, s):
if s.__class__ != self.__class__:
return 0
elif self.name < s.name:
return -1
elif self.name > s.name:
return 1
elif self.name == s.name:
return 0
def __cmp__(self, s):
if s.__class__ != self.__class__:
return 0
elif self.name < s.name:
return -1
elif self.name > s.name:
return 1
elif self.name == s.name:
return 0
2015-05-09