Python学习笔记系列——数据结构相关
Python有4种数据结构:列表(list)、字典(dictionary)、元组(Tuple)、集合(set)。从最直接的感官上来说,这四种数据结构的区别是:列表中的元素使用方括号括起来,字典和集合是花括号,元组是圆括号,其中字典中的元素都是带有“:”的key-value对应关系组。
1、列表(List)
- #1、列表中的每一个元素都是可以变的
- #2、列表中的元素都是有序的,也就是说每一个元素都有一个位置
- #3、列表可以容纳Python中的任何对象
- fruit = ['Apple','Orange','pear']
- fruit.insert(1,'grape') #在第二个数据前面插入
- print(fruit)
- fruit.remove('pear') #删除
- print(fruit)
- fruit[0] = 'Grapefruit' #替换
- print(fruit)
2、字典(Dictionary)
- #1、字典中数据必须是以键值对的形式出现
- #2、逻辑上,键是不能重复的,而值可以重复
- #3、字典中的键Key是不可变的,也就是无法修改的。而值Value是可变的,可修改的,可以是任何对象
- a = {'key':'','key':''} #重复的键值对,只会输出一个
- print(a)
- Nasdaq_code = {'BIDU':'baidu','SINA':'sina'}
- Nasdaq_code['YOKU'] = 'youku' #添加元素
- print(Nasdaq_code)
- Nasdaq_code.update({'FB':'facebook','TSLA':'Tesla'}) #批量添加
- print(Nasdaq_code)
- del Nasdaq_code['FB'] #删除元素
- print(Nasdaq_code)
3、元组(Tuple)
- #1、元组不可修改
- #2、元组可被查看索引,方式同列表
- letters = ('a','b','c','d','e','f')
- print(letters[0])
4、集合(Set)
- #1、集合中的元素是无序、不重复的任何对象
- #2、集合不能被切片也不能被索引。可做集合运算,集合元素可以被添加还有删除
- a_set = {1,2,3,4}
- a_set.add(5) #添加
- print(a_set)
- a_set.discard(5) #删除
- print(a_set)
5、推导式(列表解析式)
现在我有10个元素要装进列表中,普通的写法是这样的:
下面换成列表解析的方式来写,是这样的:
如下图,列表推导式可以简单的看成两部分。红色虚线后面的是我们熟悉的for循环表达式,虚线前面的可以认为是我们想要放在列表中的元素。
列表解析式的执行效率比较:(列表解析式的执行效率较高,性能较优)
- #推导式 list = [item for item in iterable],先iterable,在进行item的输出
- import time
- a=[]
- t0 = time.clock()
- for i in range(1,2000):#使用循环时的执行时间
- a.append(i)
- print(time.clock() - t0,'seconds process time')
- t0 = time.clock()
- b=[i for i in range(1,200)]#使用列表解析式的执行时间
- print(time.clock() - t0,'seconds process time')
- #列表解析式示例
- a = [i**2 for i in range(1,10)]
- print(a)
- c = [j+1 for j in range(1,10)]
- print(c)
- k = [n for n in range(1,10) if n %2 ==0]
- print(k)
- z = [letter.lower() for letter in 'ABCDEFGHIGKLMN']
- print(z)
- d = {i:i+1 for i in range(4)}
- print(d)
- g = {i:j for i,j in zip(range(1,6),'abcde')}
- print(g)
- l = {i:j.upper() for i,j in zip(range(1,6),'abcde')}
- print(l)
Python学习笔记系列——数据结构相关的更多相关文章
- python学习笔记系列----(三)数据结构
这一章主要是介绍了python一些常用的数据结构,比如list,tuple,dictionary,set,以及一些实用遍历技巧,主要讲的还是list. 3.1 list 主要介绍了list的一些常用的 ...
- python学习笔记系列----(一)python简介
一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定 ...
- Python学习笔记系列
1.小甲鱼 python 学习系列笔记
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
- python学习笔记五——数据结构
4 . python的数据结构 数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码.python提供的几种内置数据结构——元组.列表.字典和序列.内置数据结构是Python语言的精 ...
- Python学习笔记系列——函数
今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...
- python学习笔记系列----(七)类
7.1 python类和相关术语的简介 Python 通过最小的新语法和语义在语言中实现了类. 它是 C++ 或者 Modula-3 语言中类机制的混合.类的大多数重要特性都被完整的保留下来:类继承机 ...
- python学习笔记系列----(五)输入和输出
这一章主要是讲述程序展示其数据的一些方法,一般都是直接按照一定的格式输出在屏幕,或者写入到文件以便以后使用.按照一定格式的输出,在python中实际就是对str的操作,主要就是介绍了formart() ...
- python学习笔记系列----(二)控制流
实际开始看这一章节的时候,觉得都不想看了,因为每种语言都会有控制流,感觉好像我不看就会了似的.快速预览的时候,发现了原来还包含了对函数定义的一些描述,重点讲了3种函数形参的定义方法,章节的最后讲述了P ...
随机推荐
- --num 与 num-- 的区别
递增++和递减--操作符都属于一元操作符. 只能操作一个值的运算符是一元操作符,一元操作符是ECMscript中最简单的操作符. 递增.递减操作符介绍 递增.递减操作符有两个版本:前置型和后置型.顾名 ...
- pom.xml 如果使用 mvn exec:exec 命令运行项目
pom.xml 如果使用 mvn exec:exec 命令运行项目,红色字体要与groupid相同 <project xmlns="http://maven.apache.org/PO ...
- Ubuntu中利用rename批量重命名
1.简介: 通常在机器视觉的学习过程中,需要批量处理一些图片,通常会涉及到批量重命名的问题,可以利用rename命令快速实现图片的批量重命名 2.rename命令格式: rename [-v] [-n ...
- CentOS7系列--1.4CentOS7服务
CentOS7服务管理 1. 查看服务 1.1. 查看所有运行的服务 [root@centos7 ~]# systemctl -t service UNIT LOAD ACTIVE SUB DESCR ...
- 产品相关 做产品VS做项目
做产品VS做项目 by:授客 QQ:1033553122 相关定义 根据GB/T19000—2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关 ...
- Jmeter入门--安装教程
jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动 ...
- 摄像机内参相关(3ds max)
一般的原理参考:http://ksimek.github.io/2012/08/13/introduction/ 对于3ds max建模时使用的target camera,如果想得到它的内外参,可以利 ...
- win8中 cmd直接以管理员权限运行
一.组合键 WIN+X 二.锁定到任务栏,方便以后快速启动 三.控制面板->控制中心 四.更改用户账户控制设置--调到最低 好了,点击任务栏的命令提示符
- September 24th 2017 Week 39th Sunday
To live is the rarest thing in the world. Most people exist. That is all. 生活是世间最罕见的事情:生存,却是世间最常见的事情: ...
- 导出类成员里含有stl对象
How to export an instantiation of a Standard Template Library (STL) class and a class that contains ...