** 删除列表中重复的元素:l = [1,2,3,1,2,3] - 强制转化列表为集合类型:list(set(l)) - 将列表转化为字典,拿出里面的所有key值: dict.fromkeys(l).keys() ** 实现switch的两种方法: - if…elif…else… - 通过字典实现: d= {“key”,func} if oper in d.keys(): doper else: print “error”
社团: linux兴趣小组 linuxL = [“linux”,”westos”] python兴趣小组 pythonL = [“linux”,”redhat”] 。。。。
统计所有的社团 l = []
student = “linux” 列表: linuxL + PythonL = [“linux”,”westos”,”linux”,”redhat”]集合: {“linux”,”westos”,”redhat”}** 不可变的数据类型一定可哈希;hash()内置函数可以判断某个类型是否可哈希;
列表生成式,其实就是生成列表的一种方式,是python内置的;
简单的列表生成式 [ i*i for i in range(10) ] # 返回1-10平方的一个列表; [ fun(i) for i in l] # 对列表的每个元素执行某个函数操作;
for…if的嵌套 [ i*i for i in range(1,10) if i%2==0] # 返回1-10之间所有的偶数 [ i for i in range(1,10) if isprime(i)] # 返回1-10之间所有的质数,判断质数的函数是自定义的;
for…for…的嵌套 [ i+j for i in “abc” for j in “123”] # 返回”abc”和”123”的所有组合;
1, 1 , 1+1 max = 6 def fib(max): n,a,b = 0,1,1 while n < 6: print a a,b = b, a + b n = n + 1
map
reduce
reduce(f,[1,2,3,4]) === > add(add(add(1,2),3),4) reduce(cheng,range(1,11))
** 求10的阶乘:
filterIn [15]: def is_oushu(n): ….: if n%2 == 0: ….: return True ….: else: ….: return False ….:
In [16]: filter(is_oushu,range(1,11)) Out[16]: [2, 4, 6, 8, 10]
sorted() n [20]: l = ["a","Ab","cd","C"] In [21]: sorted(l) Out[21]: ['Ab', 'C', 'a', 'cd'] In [22]: def cmp_ignore_case(s1,s2): ....: s1 = s1.lower() ....: s2 = s2.lower() ....: if s1 < s2: ....: return -1 ....: elif s1 > s2: ....: return 1 ....: else: ....: return 0 ....: In [23]: sorted(l,cmp_ignore_case) Out[23]: ['a', 'Ab', 'C', 'cd']