初始python(二)
1. 列表list
1.1 切片
# 定义一个list。
list = [1, 2, 3, 4, 5]
从左往右读取字符(默认步长为 1 )。如:
list[-2:-1] # 返回一个list数据类型,[4]
list[2] # 返回一个int数据类型, 3
从右往左读取字符串(默认步长为 1 )。如:
list[-1:-2] # 返回一个空list, []
list[-1:-2:-1] # 步长为 -1 ,[5]
1.2 内置list方法
如:a = "123"
list(a)
# 返回的是一个列表,参数可迭代对象。里面输出的内容保持传入的可迭代对象的元素和顺序。如果参数为空,则返回一个空列表。
1.3 xrange 和 range 的具体区别
1.3.1 xrange 的用法(仅在python2中使用):
xrange(开始, 结束, 步长)
xrange 它生成一个xrange对象。
1.3.2 比较
range:直接生成一个列表对象。 #(在python3中,range是生成一个range对象,支持切片)
xrange:生成一个xrange对象。操作数据大,每一次只返回单个元素,节省内存。
1.3.3 列表推导式的应用
1) 取出1-10的所有值的平方。
[x*x for x in range(10)] # 结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2) 生成字符串。
['num %s' % i for i in range(10)]
# 结果:['num 0', 'num 1', 'num 2', 'num 3', 'num 4', 'num 5', 'num 6', 'num 7', 'num 8', 'num 9']
3)生成元组。
[(x,y) for x in range(2) for y in range(2)]
# 双重迭代列表,在以元组的形式(x,y)组合,生成一个列表,结果是:[(0, 0), (0, 1), (1, 0), (1, 1)]
4)生成字典。
dict([(x,y) for x in range(4) for y in range(3)])
# 第一个列表的迭代作为字典的键,第二个列表的迭代作为字典的值。结果为:
{0: 2, 1: 2, 2: 2, 3: 2}
3. 集合set
集合没有顺序,故不能用切片和索引操作。
3.1 创建集合。
set() :可变的
frozenset():不可变的(不能执行添加,删除等操作)
3.2 添加操作。如:
a = set("asd") # 结果:{'a', 'd', 's'}
add :
a.add("panisme") #按原始字符串传入。结果:{'panisme', 's', 'd', 'a'}
update :
a.update("panisme") #将字符串分割传入。
#结果:{'m', 'e', 'p', 'panisme', 's', 'n', 'boy', 'i', 'd', 'a'}
3.3 删除
remove :
a.remove("panisme") # 结果:{'m', 'e', 'p', 's', 'n', 'boy', 'i', 'd', 'a'}
3.4 判断成员关系
in :"a" in a # 判断字符"a" 是否在集合 a 里面,返回bool值。
not in
3.5 交集, 并集, 差集
交集 :&
并集 :|
差集 :-
3.6 set去重
去除列表内容元素重复,如:
b = [1,23,4,5,2,2,1,2]
set(b) # 用集合去重,返回结果:{1, 2, 4, 5, 23}
list(set(b)) # 达到列表去重目的,得到列表:[1, 2, 4, 5, 23]
4. 字典
字典是无序的,它不能通过偏移来存取,只能通过键来存取。
组成字典的键必须是不可变的数据类型,比如数字,字符串,元组等。
4.1 创建字典
方法一:
{} ,如 a = {'name':'xiaoming', 'age':18}
方法二:
dict() , a = dict(name = 'xiaoming', age = 18)
4.2 添加内容
a['country'] = 'china'
4.3 修改内容
方法一:
a['name'] = 'xiaohong'
方法二:update 参数是一个字典的类型,会替换相同键的值。
a.update({'name':'xiaolan', 'age':22})
4.4 删除 del, clear, pop
del a['name'] # 删除某个键以及对应的值。
a.clear() # 删除字典的全部元素。
a.pop('age') # 删除某个键以及对应的值。
4.5 keys() : 返回的是列表,里面包含的是字典的所有键。
4.6 values() : 返回的是列表,里面包含的是字典的所有值。
4.7 items :生成一个字典的容器 [()]
4.8 get : 通过特定的键名来查找对应的值。
a.get('22', 'abc')
# 如果没有找到键('22')所对应的值,可以在后面指定返回值('abc')
...
初始python(二)的更多相关文章
- python基础之初始python
初始python之基础一 一.Python 介绍 1.python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发 ...
- 01_python_初始python
一.初始python python是一门解释型语言,弱类型语言 / python解释器最为常用的是cpython(官方) 弱类型语言: a = 1 a = 'alex' #说明变量a既可以是整 ...
- 零基础学Python--------入门篇 第1章 初始Python
入门篇 第1章 初始Python 1.1 Pyhton 概述 1.1.1 了解 Python Python,本义是指“蟒蛇”.1989年,荷兰人Guido van Rossum发明了一种面向对象的 ...
- python 二维数组读入
study from : https://www.cnblogs.com/reaptomorrow-flydream/p/9613847.html python 二维数组键盘输入 1 m = int( ...
- Python 二维码制作
Python 二维码制作 先介绍python 二维码制作的第三方库 QRCode .MyQR QRCode 生成这个二维码只用三行 import qrcode img = qrcode.make ...
- Python基础初始之二
1.格式化的输出 当你遇到这样的需要:字符串中想让某些位置变成动态可传入的,首先考虑用格式化输出 1.格式化输出:% 2. 格式化输出:format 3. 格式化输出:f 2.运算符 3.编码 待续
- Python 基础系列一:初识python(二)基本数据类型
上节拾遗 1.编码转换过程,utf-8转换gbk 过程 经过解码(py27): x.decode('utf-8')-->unicode-->编码x.encode('gbk') ps:py3 ...
- 初始Python
一.Python简介 1.Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新 ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
随机推荐
- 【LESS系列】三角形Mixins
又是一篇自 W3CPLUS 中转化而来的文章. 和 W3CPLUS 上的做法,在设计上最大的不同就在于,这里我用的是多个 Mixins 函数来实现. 先总结这种做法的特点: 需要额外的标签来实现,因此 ...
- Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)
在Linux下编译运行脚本的时候出现”/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)“这样的错误. ...
- [PY3]——内置数据结构(9)——线性结构与切片/命名切片slice()
线性结构的总结 列表list 元组tuple 字符串str bytes bytearray的共同点: 都是顺序存储.顺序访问的: 都是可迭代对象: 都可以通过索引访问 线性结构的特征: 可迭代 ...
- ora-01747:因为表中存在关键字造成的
ORCLE报错解决(ora-01747:无效的用户.表.列,表.列) 一.ora-01747:无效的用户.表.列,表.列 这个问题出现是因为表中存在关键字造成的,如果想新增数据直接用sql语句,查询 ...
- Oracle中的自连接(self join)-当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接。
http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自 ...
- 查询各分类中最大自增ID
假如现在有表结构: CREATE TABLE `msg_detail` ( `id` ) NOT NULL AUTO_INCREMENT COMMENT 'id', `title` ) NOT NUL ...
- IOS学习资源汇总
昨天夜里在简书看到关于ios学习资源总结的文章,在这分享给大家. http://www.jianshu.com/p/b7c4a787a597?utm_campaign=hugo&utm_med ...
- PHP的一些语句 if...else...elseif - Switch - while - for
条件语句用于基于不同条件执行不同的动作 PHP 条件语句 在您编写代码时,经常会希望为不同的决定执行不同的动作.您可以在代码中使用条件语句来实现这一 点. 在 PHP 中,我们可以使用以下条件语句: ...
- C#三大特性之 封装、继承、多态
一.封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 封装的意义: 封装的意义在于保护或者防止代码(数据) ...
- Spring与SpringMVC的关系
在此鉴于你已经了解过Spring的相关知识,简单描述一下Spring与Spring的关系 在框架的使用中,Spring类似于一个具有多种特性,也可以说是多种功能模块的应用平台,(特性就比如IoC,AO ...