Python中的列表生成器与高级特性

一、基础

Python中的函数名即是变量名,用法与变量相同。函数名对它赋值就作为变量,传递参数就作为函数使用。
Python中无常量的定义。

isinstance()

给定一个list或者tuple,通过for循环来遍历这个list或者tuple、这种遍历就是迭代(iteration)。只要是可迭代的对象都可以进行迭代、怎么判断一个对象是否是可迭代的对象呢?可以用collections模块里面的iterable包的isinstance函数进行判断:

>>> from collections import Iterable#载入模块
>>> isinstance('abc',Iterable) #字符串是可迭代对象吗?
True
>>> isinstance([1,2,3],Iterable) #list是可迭代对象吗?
True
>>> isinstance({'dede':123},Iterable) #字典是可迭代对象吗?
True

二、高级特性

map函数

>>> def foo(x):
    return x**2

>>> list(map(foo,list(range(10))))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

reduce函数
两种导入方式

  1. import functools
    将导入functools下的所有函数
  2. from functools import reduce
    将只导入reduce函数
>>> def add(x,y):
    return x+y

>>> from functools import reduce
>>> reduce(add,list(range(1,10)))
45

filter过滤函数

>>> mylist=list(range(1,21))
>>> def isodd(x):
    return x%2==1
>>> oddlist=filter(isodd,mylist)
>>> for i in oddlist:
    print(i)
1
3
5
7
9
11
13
15
17
19

sorted函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值