社团: linux兴趣小组 linuxL = [“zhang”,”wang”] python兴趣小组 pythonL = [“zhang”,”li”] 。。。。
统计所有的社团 l = []
student = “zhang” 列表: linuxL + PythonL = [“zhang”,”wang”,”zhang”,”li”]集合: {“zhang”,”wang”,”li”}** 不可变的数据类型一定可哈希;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的阶乘: reduce(lambda x,y: x*y, range(1,n))
filter
In [1]: def is_oushu(n): ….: if n%2 == 0: ….: return True ….: else: ….: return False ….:
In [2]: filter(is_oushu,range(1,11)) Out[2]: [2, 4, 6, 8, 10]
sorted() n [3]: l = ["a","Ab","cd","C"] In [4]: sorted(l) Out[4]: ['Ab', 'C', 'a', 'cd'] In [5]: 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 [6]: sorted(l,cmp_ignore_case) Out[6]: ['a', 'Ab', 'C', 'cd']输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2;
输入描述: 输入为一行,n(1 ≤ n ≤ 1000)
输出描述: 输出一个整数,即题目所求
示例1:
- 输入: 10 - 输出: 2程序:
#!/usr/bin/env python # coding:utf-8 n = input('请输入要求的阶乘数:') sum = reduce(lambda x, y: x * y, range(1, n + 1)) print sum i = 0 while True: s = sum % 10 sum = sum / 10 if s == 0: i += 1 elif 10 < sum : break print i运行结果: