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的主要内容,如果未能解决你的问题,请参考以下文章

5Python标准库系列之json模块

5python基础语法-变量

Python 1-5Python教程之——字符串

5python第一天作业

1-5Python数字和字符串

5Python全栈之路系列之字符串格式化