一、列表推导式,生成器表达式
[ 变量(加工后的数据) for 变量i in 可迭代的数据类型 ] 列表的推导式, 循环模式
[ 变量(加工后的数据) for 变量i in 可迭代的数据类型 if 条件] 列表的推导式, 筛选模式
1,列表推导式比较直观,占内存
2,生成器表达式不容易看出内容,省内存.
1 #例一:30以内所有能被3整除的数 2 l3 = [i for i in range(31) if i % 3 == 0] 3 print(l3) 4 #例二:30以内所有能被3整除的数的平方 5 l4 = [i**2 for i in range(31) if i % 3 == 0] 6 print(l4) 7 #两个e 8 names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'], 9 ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] 10 11 name_l1 = [name for i in names for name in i if name.count('e') == 2] 12 print(name_l1) 13 14 #将一个字典的key和value对调 15 mcase = {'a': 10, 'b': 34} # mcase['a'] 16 mcase_frequency = {mcase[k]: k for k in mcase} 17 print(mcase_frequency) 18 19 #计算列表中每个值的平方,自带去重功能 20 squared = {x**2 for x in [1, -1, 2]} 21 print(squared)
二、内置函数
1 #print() 2 print('666',end=' ') 3 print(1,2,3,4,5,sep='|') 4 f = open('log','w',encodinng='utf-8') 5 print(666,file=f) 6 f.close 7 #dir() 查找对象的所有方法 8 print(dir([])) 9 #locals() 将局部的变量储存起来 10 #globals() 将全局的变量,函数名,等等 储存起来 11 def func(): 12 name = 'alex' 13 print(locals()) 14 print(globals()) 15 func() 16 #数据类型的 list() str() tuple() set() dict() int() 17 # help(str) 将你查询的对象所有信息都拿出来 18 # abs()取绝对值 19 print(abs(-1)) 20 print(abs(1)) 21 def func(ret): 22 print(44) 23 #最大值 24 ret = max(1,2,-3,key=abs) 25 print(ret) 26 #最小值 27 ret = min([1,2,3]) 28 print(ret) 29 #sum iterable,初始值 30 ret = sum([1,2,3],10) 31 print(ret) 32 #callable 判断此变量是不是函数名 33 name = 'alex' 34 print(callable(name)) 35 def func(): 36 print(666) 37 print(callable(func)) 38 #hash() 通过哈希表的规则,将对象转换成哈希值 39 print(hash('fdsakfhdsafsda')) 40 print(hash('fd')) 41 print(hash('fsdsafsda')) 42 #all 可迭代对象里面的所有的值转化成bool值如果都是True则,返回True 43 print(all([1,2,3,0])) 44 #十进制转化成二进制 45 # print(bin(100)) 46 # #将十进制转化成八进制 47 # print(oct(9)) 48 # #将十进制转化成十六进制 49 # print(hex(33)) 50 #float :有限小数,无线循环小数,不包含(无线不循环小数) 51 print(1.35432,type(1.35432)) 52 print(float(3)) 53 #divmod() 分页 54 # print(divmod(7,2)) #(商,余数) 55 #enumerate(iterable,start 起始值) 枚举 56 l = ['手机','电话','充气娃娃',] 57 for i in enumerate(l): 58 print(i) 59 # s = "{'name':'alex'}" 60 # s1 = "1+2+3+4" 61 #eval 有返回值 除去字符串两边的引号,返回里面的内容 62 #exec 没有返回值 除去字符串两边的引号,执行里面的代码 63 #流程语句 64 # print(eval(s),type(eval(s))) 65 # print(exec(s),type(exec(s))) 66 # print(eval(s1)) 67 # code = '''for i in range(10): 68 # print(i)''' 69 # print(exec(code))