reduce():对于序列内全部元素进行累计操做python
import _functools li=(1,2,3,4,5,6,7); def add(a,b): return a+b; total=_functools.reduce(add,li); print(total);
import _functools li=(1,2,3,4,5,6,7); def add(a,b): return a+b; total=_functools.reduce(add,li,100);#初始值为100 print(total);
sorted()可对list进行排序:app
ol=[1,5,3,7,9,33,45,10]; ul=sorted(ol); print(ul);
ol=[True,False]; ul=sorted(ol); print(ul);
reversed_cmp函数:函数
ol=[1,5,3,7,9,33,45,10]; ul=sorted(ol,reverse=True);#默认正序为False print(ul);
ol=[('Bob',74),('Adam',92),('Bart',66),('List',88),('aisa',88)]; print(ol); ol=sorted(ol,key=lambda s:str(s[0]).lower(),reverse=False); print(ol);
小练习:orm
# usr/bin/python # -*-coding:utf-8-*- flag = True; names = ['ok', 'ko']; phones = ['232323232', '12312332']; def Menu(): global flag while flag: print("\n\n=======通信录管理系统=======") print("1.增长姓名和手机") print("2.删除姓名") print("3.修改手机") print("4.查询全部用户") print("5.根据姓名查找手机号") print("6.退出") print("============================") i = int(input("请选择:")); while True: if i in range(1, 7): break; else: i = int(input("输入错误,请从新输入!")) if i == 1: addUser(); elif i == 2: delUser(); elif i == 3: updatePhone(); elif i == 4: showList(); elif i == 5: getPhoneByName() elif i == 6: flag = False; def addUser(): name=input('请输入姓名:') if checkUser(name)!=-1: print("姓名已存在!") else: names.append(name); phones.append(input('请输入手机号:')); def delUser(): name = input("请输入姓名:"); index=checkUser(name) if index!=-1: names.pop(index); phones.pop(index); print("删除成功!") else: print("姓名不存在!") def updatePhone(): phone = input("请输入手机号:"); index=checkPhone(phone); if index!=-1: new_phone = input("请输入新的手机号:"); phones[index] = new_phone print("修改为功!") else: print("手机号不存在!") def showList(): for i in range(len(names)): print(names[i], phones[i]) def getPhoneByName(): name = input("请输入姓名:"); index=checkUser(name) if index!=-1: print("手机号:", phones[index]) else: print("姓名不存在!") def checkPhone(phone): if phone in phones: return phones.index(phone) else: return -1; def checkUser(name): ''' :param name 查找的名字: :return 有:下标 没有-1: ''' if name in names: return names.index(name) else: return -1; Menu();
类和对象对象
class Student:#类的命名不能使用除下划线之外的其余字符,不能以数字开头 pass#用于保证合适完整,保证语义完整
class Student: def __init__(self,name,age): self.name=name; self.age=age; def showName(self): print("我叫{}".format(self.name)); zhangsan=Student('张三',30); zhangsan.showName()
class Student: def showName(self): print("我叫{}".format(self.name)); zhangsan=Student(); zhangsan.name='张三'; zhangsan.showName()
class Student: def showName(self): print("我叫{}".format(self.name)); zhangsan=Student(); zhangsan.name='张三'; zhangsan.name='ok';#第二个值会覆盖第一个值 zhangsan.showName()