1.lambda函数
1)称为匿名函数,函数的定义直接使用,不用起名
2)又称一句话函数,使用一行代码表达逻辑
3)用于简单的不会重复多次调用的场景
2.定义形式:sum = lambda x,y:x+y
- s = lambda x,y:x+y
- print(s(1,2))
3.列表的排序
1)列表排序方法1:list.sort(key = None,reverse=False):使用key为基准排序,reverse表示正序或者逆序,默认False正序
- list = [1,4,3,2]
- list.sort(reverse=True)
- print(list)
2)列表排序方法2:new_list = sorted(iterable,key=None,reverse=False):第一个参数是个list,返回一个新的list
其中的key参数,可以传入一个函数,指定排序的元素,对于这个函数,用lambda可以简化代码
4.排序演练:对学生数据按成绩进行排序 sgrade = [(1001,98),(1002,95),(1003,99),(1004,88)]
1)不可行方法:sgrade.sort() 只会按照第一项进行排序
2)方法1:sgrade.sort(key=lambda x:x[1])
- sgrade = [(1001,98),(1002,95),(1003,99),(1004,88)]
- sgrade.sort(key=lambda x:x[1])
- print(sgrade)
3)方法2:new_list=sorted(sgrade,key=lambda x:x[1])
- sgrade = [(1001,98),(1002,95),(1003,99),(1004,88)]
- new_list = sorted(sgrade,key=lambda x:x[1])
- print(new_list)
- x=[
- {'name':'2','score':22},
- {'name':'4','score':8},
- {'name':'1','score':34},
- {'name':'7','score':99}
- ]
-
- x.sort(key=lambda x:x['score'],reverse=True)
- print(x)
-
- y=[
- (1,33),
- (3,65),
- (2,22)
- ]
-
- m=sorted(y,key=lambda x:x[0])
- print(m)
B:不一定是数字类型,只要是重载了‘+’运算符的都可以
- f=lambda x,y:x+y
-
- print(type(f('a','b')))
- x=10
- y=3
- print(divmod(x,y))
divmod(x,y) 返回的是x/y取商和x/y取余数的结果的元组
- d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}
- print(d["大地"], d.get("大地", "黄色"))
Dict.get(key[,value]) 函数如果字典中有关键字key,返回关键字对应的值;如果key不存在,返回value的值,value默认为None
s = 'Python is beautiful!'
- s = 'Python is beautiful!'
- print(s[:-14])
- print(s[0:6].lower())
- print(s[0:6])
- print(s[-21: -14].lower)
- s = "Alice"
- print(s[::-1])
- s = "The python language is a cross platform language."
- print(s.find('language',30))
s.find(substr,[start,[end]])返回s中出现的substr的第一个字符的编号,没有substr则返回-1.start与end相当于在s[start:end]中搜索。
python2.x 与python3.x之d.keys()返回类型的区别
- d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}
- print(type(d.keys()))
- d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}
- #print(d.keys()[0]) 不能这样访问
- print(list(d.keys())[0])
p119
s.remove(x) 从列表中删除x,若x不存在,抛出ValueError异常
- list1=[1,2,'a',34]
- print(list1.remove(1))
- list1.remove('c')
由此可见,remove()函数的返回值是None
Dict.pop(key[,vslue]) 函数如果字典中有关键字key,删除关键字对应的值;如果key不存在,返回value的值,value默认为None
- tuple1=(1,"a",2.33)
- print(tuple1)
write()方法每次执行完不换行,若需换行,在字符串末尾加换行符'\n'
- fo=open("D://Python text.txt","w")
- fo.write("python:")
- fo.write("helloworld\n")
- fo.write("yes")
- fo.close()
- a=[5,1,3,4]
- print(sorted(a,reverse = True))
Dict.pop(key[,vslue]) 函数如果字典中有关键字key,删除关键字对应的值;如果key不存在,返回value的值,value默认为None
print( 0.1 + 0.2 == 0.3)
原因:
print(0.1+0.2)
解决:
- from decimal import Decimal
- a2 = Decimal('1.01')
- b2 = Decimal('1.02')
-
- if a2+b2 == Decimal('2.03'):
- print('ok')
- else:
- print('no')
- print(a2+b2)
- print(type(a2+b2))
Python 33个保留字
and 用于表达式运算,逻辑与操作as 用于类型转换
assert 断言,用于判断变量或条件表达式的值是否为真
break 中断循环语句的执行
class 用于定义类
continue 继续执行下一次循环
def 用于定义函数或方法
del 删除变量或者序列的值
elif 条件语句 与if else 结合使用
else 条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用
except 包括捕获异常后的操作代码,与try,finally结合使用
exec 用于执行python语句
for 循环语句
finally 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用
from 用于导入模块,与import结合使用
global 定义全局变量
if 条件语句,与else,elif结合使用
import 用于导入模块,与from 结合使用
in 判断变量是否存在序列中
is 判断变量是否为某个类的实例
lambda 定义匿名函数
not 用于表达式运算,逻辑非操作
or 用于表达式运算,逻辑或操作
pass 空的类,函数,方法的占位符
print 打印语句
raise 异常抛出操作
return 用于从函数返回计算结果
try 包含可能会出现异常的语句,与except,finally结合使用
while 循环语句
with 简化Python的语句
yield 用于从函数依次返回值
- ls = [3.5, "Python", [10, "LIST"], 3.6]
- print(ls[2][-1][1])
- adict={'a':'apple','b':'banana','o':'orange','g':'grape'}
- print(adict)