码迷,mamicode.com
首页 > 编程语言 > 详细

python 5

时间:2018-05-20 21:18:11      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:imp   UNC   方法   匿名   迭代   tor   元素   函数   import   

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

标签:imp   UNC   方法   匿名   迭代   tor   元素   函数   import   

原文地址:https://www.cnblogs.com/zaqzzz/p/9064492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!