字典的循环:
d_1={'nanjing':100,'shanghai':200,'shenzhen':500} for i in d_1: print(d_1[i]) ''' 100 200 500 ''' #总结:循环的是键,打印的是值
try...except...的一个栗子:
re = iter(range(5)) try: for i in range(10): print(re.__next__()) except StopIteration: print("-----iter is end-----") finally:#无论有没有出错,无论有没有俘获错误,finally语句都是要执行的 print("haha") try: a = int(input("please input number:")) if a > 50: print("True") else: print("False") except ValueError: print("valueerror") else:#else语句是在try中没有错误的情况下才要执行的,俘获错误后就证明try中有错,那么else就不执行 # 了。总之,except和else二者只会执行一个 print(a)
map()函数:
m1=map((lambda x,y:x+y),[1,2,3],[10,10,10]) print(list(m1),type(m1)) ''' [11, 12, 13] <class 'map'> 我称map()函数为投影函数,因为它就像是拿第一个(函数)参数去对后面的数据做投影。 '''
filter()函数:
f1=filter((lambda x:x>100),[90,100,200,300]) print(list(f1),type(f1)) ''' [200, 300] <class 'filter'> 我称filter()函数为过滤函数,因为它就像拿函数去对后面的迭代对象作用,把结果为False的数据过滤掉 '''
reduce()函数:
from functools import reduce r1=reduce((lambda x,y:x+y),[1,2,3,4,5])#reduce()函数要求第一个参数函数自身能接受两个参数 print(r1,type(r1)) ''' 15 <class 'int'> 相当于((((1+2)+3))+4)+5=15 我称reduce()函数为减少函数,因为它就像拿函数去对后面的数据依次作用,第一次作用需要传递两个数 据,然后依次作用后面的数据,让后面的数据每次减少一个 '''