变量,函数
#encoding=utf-8
infor={10:122,2:233,3:22,56:445}
nums=[1,2,2,2,2,33,46,26,3463,26,634]
nums.sort()#默认从小到大排序 [1, 2, 2, 2, 2, 26, 26, 33, 46, 634, 3463]
print(nums)
nums.sort(reverse=True)#从大到小排序[3463, 634, 46, 33, 26, 26, 2, 2, 2, 2, 1]
print(nums)
nums.reverse()
print(nums)
#对列表中的字典进行排序
information=[{"name":"vivi","age":12},{"name":"lyly","age":13},{"name":"bail","age":17}]
information.sort(key=lambda x:x["name"])#[{'age': 17, 'name': 'bail'}, {'age': 13, 'name': 'lyly'}, {'age': 12, 'name': 'vivi'}]
print(information)
information.sort(key=lambda x:x["age"])#[{'age': 12, 'name': 'vivi'}, {'age': 13, 'name': 'lyly'}, {'age': 17, 'name': 'bail'}]
#采用了匿名函数的方法,x代表了字典,要比较的对象,x:x['age']是取得要比较的值
print(information)
#匿名函数作为一个参数
def test(q,p,func):
result=func(q,p)
return result
result=test(11,22,lambda x,y:x+y) #
#Python的动态特性,匿名函数可以作为输入
#funLambda=input("请输入匿名函数")
#resuLamba=test(11,22,funLambda)#这种输入适用于Python2
#python中input输入的内容都是当做字符串进行处理
#所以在Python3中要进行处理
#funLambda=eval(funLambda) #将字符串转换为原来的本义
#2个变量的交换,可以用其他语言一样的方法,也可以这样
a=100
b=200
a,b=b,a
print(a,b)#(200, 100)
#列表作为引用
a1=100
def test1(a1):
a1+=a1
print(a1) #200,a1指向的不可变的,指向新的变量生成的值
test1(a1)
print(a1)#100
a2=[100]
def test2(a2):
a2+=a2#修改a2指向的地址中的值,直接修改地址对应的值
a2=a2+a2 #==>[100]+[100]====>[100,100]先计算右边,a2重新指向新生成的[100,100]
print(a2) #[100,100] ,a1指向可修改变量,改变其中的值
test2(a2)
print(a2)#[100,100]