python 基础知识(待补充)
2016-02-27 22:15
429 查看
数据结构:
python数据结构共包含四大类:列表
列表是可变元素,支持增删改查操作
字典
字典是遍历,key:value 格式.
元组
元组数据不可变元素,仅仅有两个操作 index, count
集合
集合的增删,创建集合{1, 2, 3}, set(),集合的集合操作.
控制流语句:
if 语句if else 语句
if elif else语句
永远只有一个分支被执行
while语句
for in 语句
break语句
continue语句
else语句
列表解析
列表解析是python重要的语法糖,速度比for in迭代快,推荐使用基本语法
ret = [expression for item in iterator]
等价于:
ret = [] for item in iterator: ret.append(expression)
实例:
# 列表解析形式 In [1]: lst = list(range(1,11)) In [2]: lst Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In [3]: [x ** 2 for x in lst] Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # for循环方式 In [6]: lst Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In [7]: ret=[] In [8]: for i in lst: ...: ret.append(i ** 2) In [10]: print(ret) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
多个列表情况
In [32]: [(x, y) for x in list1 for y in listb] Out[32]: [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
含有条件的列表解析
基本语法:ret = [expression for item in iterator if X if Y]
等同于
ret = [] for item in iterator: if X and Y: ret.append(expression)
实例:
In [34]: list1 = [2, 3, 4, 5, 6, 7] In [35]: [x ** 2 for x in list1 if x<6 ] Out[35]: [4, 9, 16, 25]
字典解析
基本语法:
ret = {exprK:exprV for item in iterator}
等同于
ret = dict() for item in iterator: ret.update({exprK: exprV})
字典解析实例:
生成字典的方式:
In [26]: lista Out[26]: ['a', 'b', 'c', 'd', 'e'] In [27]: listb Out[27]: [1, 2, 3, 4, 5] In [28]: {k:v for k in lista for v in listb} Out[28]: {'a': 5, 'b': 5, 'c': 5, 'd': 5, 'e': 5} In [29]: {k:v for k, v in [('a', 1), ('b', 2)]} Out[29]: {'a': 1, 'b': 2}
集合解析:
# 生成集合 In [36]: {x + 1 for x in range(10)} Out[36]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} #集合解析 In [38]: {x+1 for x in [2, 2, 2, 3]} Out[38]: {3, 4}
相关文章推荐
- Python进阶(上)
- python创建中序二叉树并按照中序print
- python学习之编写查询ip程序
- 用python写的一个wordpress的采集程序
- Python3第一次尝试hello world
- Python之sax的ContentHandler类方法处理多行内容的情况
- Python自带函数map(),zip()等
- win7 安装theano+gpu
- 第二天 Python3.4.2 里面的字典 列表解析等等
- [Python入门]Chapter10 列表
- python环境准备
- Python图像处理库PIL的ImageFile模块介绍
- FP-Growth算法之频繁项集的挖掘(python)
- python短域名数据分析框架
- python34 访问MySQL数据库
- python lambda表达式
- Python的StringIO模块和cStringIO模块
- python实现高精度减法
- python实现高精度加法
- python实现高精度乘法