零基础学python-19.12 总结列表解析与字典解析
2015-10-18 23:02
316 查看
这一章节我们来总结一下列表解析与字典解析的语法。
1.列表解析
(1){1,2,3}等同于set([1,2,3])
(2)列表解析就是使用set函数强迫生成器表达式生产所有值
(3)在列表解析过程中,可以使用任意函数对相应的对象进行运算
2.字典解析
(1)使用for
(2)使用dict函数
(3)在生成的过程中可以使用函数进行运算
上面的所有解析都是一次性构建所有的结果,如果需要根据需求生产结果,那么上面的代码换成生成器表达式会更加的合适。
列表解析:
字典解析:
对于字典解析,笔者暂时对于其他的构建不熟悉,暂时只是找到这种特殊的解析方式。
3.扩展
我们在原来的基础上扩展if的使用
总结,这一章节我们简单总结了列表解析与字典解析。
1.列表解析
(1){1,2,3}等同于set([1,2,3])
>>> aList={1,2,3} >>> bList=set((1,2,3)) >>> aList is bList False >>> aList==bList True >>>
(2)列表解析就是使用set函数强迫生成器表达式生产所有值
>>> aList={x for x in range(5)} >>> aList {0, 1, 2, 3, 4} >>> g=(x for x in range(5)) >>> g <generator object <genexpr> at 0x01E692D8> >>> set(x for x in range(5)) {0, 1, 2, 3, 4}
(3)在列表解析过程中,可以使用任意函数对相应的对象进行运算
>>> aList={x*x for x in range(5)} >>> aList {0, 1, 9, 16, 4} >>> aList={x**3 for x in range(5)} >>> aList {0, 1, 8, 27, 64} >>> def test(x): return x+1 >>> aList={test(x) for x in range(5)} >>> aList {1, 2, 3, 4, 5} >>>
2.字典解析
(1)使用for
>>> aList={'a','b','c','d'} >>> bList={1,2,3,4} >>> aDict={x:y for (x,y) in zip(aList,bList)} >>> aDict {'a': 1, 'd': 2, 'c': 3, 'b': 4} >>>
(2)使用dict函数
>>> aList={'a','b','c','d'} >>> bList={1,2,3,4} >>> aDict=dict(zip(aList,bList)) >>> aDict {'a': 1, 'd': 2, 'c': 3, 'b': 4} >>>
(3)在生成的过程中可以使用函数进行运算
>>> aList={'a','b','c','d'} >>> bList={1,2,3,4} >>> aDict={x:y**2 for (x,y) in zip(aList,bList)} >>> aDict {'a': 1, 'd': 4, 'c': 9, 'b': 16} >>>
上面的所有解析都是一次性构建所有的结果,如果需要根据需求生产结果,那么上面的代码换成生成器表达式会更加的合适。
列表解析:
>>> g=(x for x in range(5)) >>> next(g) 0 >>> next(g) 1
字典解析:
>>> g=((x,x*x) for x in range(10)) >>> next(g) (0, 0) >>> next(g) (1, 1) >>>
对于字典解析,笔者暂时对于其他的构建不熟悉,暂时只是找到这种特殊的解析方式。
3.扩展
我们在原来的基础上扩展if的使用
>>> aList={x*x for x in range(5) if x%2==0} >>> aList {0, 16, 4} >>>
总结,这一章节我们简单总结了列表解析与字典解析。
相关文章推荐
- 3.4 textwrap--格式化文本库
- Python(七)python下的内部函数库和第三方函数库
- Python笔记——数字及数学函数
- Python笔记——基本控制流
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- Python笔记——python简介、特点、安装及helloworld
- Python——类、实例和其他对象的内建函数
- Python——类属性/实例属性
- Python——面向对象编程(引言)
- Python——条件、循环和其他语句
- Python——字典
- Python——字符串
- Python——序列
- Python基础:__name__
- Python之struct简介
- Python——列表,元组
- python自动加载任意个属性数据
- python例子-MySQLdb和练习题
- python例子-线程和队列
- Python中::(双冒号)的用法