python 5
Posted zaqzzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 5相关的知识,希望对你有一定的参考价值。
1.
判断是否可以迭代函数:
isinstance(‘abc‘, Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
2.把一个list迭代出下标号
函数enumerate()
for i, value in enumerate([‘A‘, ‘B‘, ‘C‘]):
print i, value
...
0 A
1 B
2 C
3.
导入os 查看c盘目录下的所有文件列表
import os
print [a for a in os.listdir(‘c://‘)]
4.
.lower()变字符串为小写 .upper()变字符串为大写
仅对于字符串来说,不包括整数,小数等非字符串
5.
generateor 生成器
解释:generator保存的是算法,调用.next()才会一个个显示结果
比较简单的方法是将列表生成式的[]改为()
L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
6.
map(函数,序列)
比如.f(x)=x*x
map(f,[1,2,3,4,5,6])结果是一个序列,值分别为1-6的平方
比如,把1-10转化为字符串
map(str,range(1,11))
7.
reduce的用法。reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
8.
def fn(x,y):
return x*10+y
print reduce(fn,[1,3,5,7])
输出整数 1357
9.
def lazy_sum(x):
def sum():
a=0
for i in x:
a=a+i
return a
return sum
l=[1,2,3,4,5,6]
print lazy_sum(l)();
闭包函数,返回的是函数
同时注意闭包函数不能返回循环变量 或者后续会发生变化的变量
10.
map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
匿名函数 lambda 参数:内容
实际上相当于
def f(x):
return x*x
f = lambda x: x * x
>>> f
<function <lambda> at 0x10453d7d0>
>>> f(5)
25
以上是关于python 5的主要内容,如果未能解决你的问题,请参考以下文章