Python语法实践之初探列表推导与生成器
来源:互联网 发布:遗传算法理解 编辑:程序博客网 时间:2024/05/21 22:45
列表推导
通过列表推导可直接生成list
>>> [i for i in range(10) if i % 2==0][0, 2, 4, 6, 8]>>>
内建函数enumerate在循环中使用序列提供了更加便利的获得索引的方式。
>>> seq = ["one","two","three"]>>> def _treatment(pos,element):... return '%d: %s' %(pos,element)...>>> [_treatment(i,el) for i,el in enumerate(seq)]['0: one', '1: two', '2: three']>>>
也可以使用多层循环
>>> [m + n for m in 'ABC' for n in 'XYZ']['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']>>>
列出主目录下的全部文件
>>> import os>>> [d for d in os.listdir('.')]['.android', '.bash_history', '.bash_profile', '.CFUserTextEncoding', '.config', '.DS_Store', '.gitconfig', '.idlerc', '.oh-my-zsh', '.ssh', '.subversion', '.Trash', '.vim', '.viminfo', '.wireshark', '.wireshark-etc', '.zcompdump-\xe7\x8e\x8b\xe9\x9c\x84\xe7\x9a\x84MacBook Air-5.0.5', '.zsh-update', '.zsh_history', '.zshrc', '.zshrc-e', 'Applications', 'Desktop', 'Documents', 'Downloads', 'ez_setup.py', 'Library', 'Movies', 'Music', 'Pictures', 'Public']>>>
生成器
列表推导的[ ] 改()结果则为一个生成器
>>> g = (x * x for x in range(10))>>> g<generator object <genexpr> at 0x100b4dd70>>>> g.next()0>>> g.next()1>>> g.next()4>>> g.next()9>>> g.next()16>>> g.next()25>>>
>>> [i for i in g][36, 49, 64, 81]>>>
通过yield可以暂停一个函数并返回中间结果
>>> def fi():... a,b = 0,1... while True:... yield b... a,b = b,a+b...>>> value = fi()>>> value.next()1>>> value.next()1>>> value.next()2>>> value.next()3>>>
0 0
- Python语法实践之初探列表推导与生成器
- python中的列表推导与生成器
- Python学习(二): 列表推导式与生成器表达式
- Python列表推导式和生成器表达式
- Python的列表推导式、迭代器、生成器
- python 列表推导和生成器表达式
- 013 Python语法之文件与生成器
- Python列表推导式、字典推导式、生成器示例
- 010 Python语法之二维列表-迭代器生成器
- python - 语法元素 - 列表推导式
- python之列表推导式
- Python之列表推导式
- Python中的列表推导和生成器表达式的使用
- 004_002 Python 列表推导 列表函数调用 生成器表达式 生成列表
- python学习:数组之列表推导
- Python中的列表生成器与高级特性
- PYTHON自学笔记4之列表生成器
- python学习之路4------列表生成器
- 清华赵骥主任与CIO石海军研讨互联网信息化
- inline内联函数
- webkit开发前的准备工作
- android 调用系统的照相机和图库实例详解
- 五分钟一个设计模式之工厂方法模式
- Python语法实践之初探列表推导与生成器
- JavaBean
- [leetcode][search] Find Minimum in Rotated Sorted Array II
- 黑马程序员_Java(字符流)
- 利用百度API画多边形的问题
- 5-22
- dinic算法的学习——hdu4280
- ie剪切增强版工具---自由填表工具filltable
- 连载二--AFNetworking的简单使用