python之列表推导式 内置函数

一、列表推导式,生成器表达式

[ 变量(加工后的数据) 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='\n')
 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))
View Code

 

posted @ 2018-02-07 16:22  WoLfff  阅读(490)  评论(0编辑  收藏  举报