高级特性
来源:互联网 发布:淘宝nike鸳鸯球鞋 编辑:程序博客网 时间:2024/05/18 13:46
切片
str,list,tuple有
dict,set无
迭代
- 任何可以迭代的对象都可以用for循环遍历;
- 字典的迭代:默认是通过key进行迭代的;
for i in d: print i
- 字典的枚举:枚举只能返回返回两个值,一个是索引下标,一个是迭代的元素;
for i,j in enumerate(l): print i,j,l[j]
- 怎么去判断是否可迭代
from collections import Iterableisinstance("hello",Iterable)
列表生成式
列表生成式,其实就是生成列表的一种方式,是python内置的;
简单的列表生成式
[ 2*i+1 for i in range(10) ] # 返回1-10的2n+1的一个列表;[ fun(i) for i in l] # 对列表的每个元素执行某个函数操作;
[k+”->”+v for k,v in d.items()]
[i.upper() for i in l]
l=[1,2,3,”hello”,”world”]
[i.upper() for i in l if isinstance(i,str)]for…if的嵌套
[ i for i in range(1,10) if i%2==0] # 返回1-10之间所有的偶数
[ i*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”的所有组合;
生成器
- 列表生成式可以直接创建一个列表,但列表容量受内存的限制;
- 在Python中一边循环一边计算的机制,称为生成器(Generator);就是你需要多少,它就生成多少;
创建生成器的方法:
- 将列表生成式的[]改为();
- 在定义的函数中加入yield关键字;
查看生成器元素的方式:
- 使用生成器的next方法;(不常用)
- 生成器是可迭代的对象,直接通过for循环查看;
产生费那波契序列:
def fib(max): n,a,b = 0,1,1 while n < max: yield a a,b = b, a + b n = n + 1g=fib(6)for i in g: print i
阅读全文
0 0
- 高级特性
- 高级特性
- 高级特性
- 高级特性
- 高级特性
- 高级特性
- 高级特性
- java高级语言特性
- hibernate高级特性_1
- perl 高级特性
- 高级SQL LINQ特性
- java 高级特性
- applicationContext高级特性
- 类的高级特性
- JAVA基础高级特性
- js高级特性
- java的高级特性
- java高级特性
- linux中的SUID和SBIT 权限
- 单调队列——Feel Good(良好的感觉)
- 快速幂与快速矩阵幂(以大数下的斐波那契数列为例)
- centos7.1 QT5编译出现:cannot find -lGL 和 collect2:error:ld returned 1 exit status 错误
- 什么情况下会导致内存泄露
- 高级特性
- hdu 2111 贪心
- 【C语言】【unix c】改变信号的处理函数
- 4.27 leetcode -27 unique-binary-search-trees
- Python IDLE
- 第十三章:集合
- 项目总结一:页面弹出框+表单输入与校验形式,实现添加内容到页面
- 猜灯谜--蓝桥杯国赛历年真题
- 自定义ClassLoader对Class加密并解密