python对象类型 数字 字符串 列表 字典 元组 文件 集合

遥想我男票追我时,还会陪我一起看书、学习、码代码,软件工程毕业的他总“语重心长”的说,学编程语言要先学习数据结构。最近也算有了切身体会,python数据结构倒是看过几遍,就是记不住,于是找时间梳理梳理。

对象类型 例子 常量/创建
数字 1234,3.1415,Decimal,Fraction
字符串 ‘spam’,”guido’s”
列表 [1,[2,’three’],4]
字典 {‘food’:’spam’,’taste’:’yum’}
元组 (1,’spam’,4,’U’)
文件 myfile = open(‘eggs’,’r’)
集合 set(‘abc’){‘a’,’b’,’c’}
其他类型 类型、None、布尔型
编程单元 函数、模块、类
与实现相关的类型 编译的代码堆栈跟踪

数字

常用的数据类型:整数、浮点数
一般数学运算:加法(+),减法(-),乘法(*),乘方(**)
数字输出的时候有全精度和用户友好形式,如果有的东西看起来比较奇怪,可以用print输出

字符串

作用

记录文本信息

结构

单个字符的字符串的序列,python里面的序列还包括列表和元组

操作

切片

字符串 S =’Spam’
切片顺序:由左至右为:0,1,2……,从右至左为:-1,-2,-3……

操作描述 案例 输出
取特定位置字符 s[1],s[-3] p
提取特定范围字符串 s1:3 pa
从第2位取到最后 s[1:] pam
取前3个字符 s[:3] spa

查找:find

有点儿像Excel的find函数

1
s.find('pa')

输出结果:1

替换:replace

类似SQL里面的正则表达式:regexp_replace
str.replace(old,new)

1
s.replace('pa','ABC')

输出结果:sABCm

分割:split

案例

1
2
line = 'aaa,bbb,cccc,dd'
line.split(",")

输出结果:[‘aaa’, ‘bbb’, ‘cccc’, ‘dd’]

分割结果是一个列表

1
2
a =line.split(",")
a[1]

输出结果:bbb

格式化替代

1
2
3
4

'%s, eggs,and %s' % ('spam','SPAM!')
# .format
'{0}, eggs,and {1}' .format('spam','SPAM!')

输出结果:’spam, eggs,and SPAM!’

模式匹配

类似sql正则表达式的应用,暂时把案例整理出来,之后运用的时候再拓展

1
2
import re
match = re.match('Hello[t]*(.*)world','Hello Python world')

输出结果:(‘ Python ‘,)

列表

定义

任意类型的对象的位置相关的有序集合,没有固定的大小。
列表的操作包括:序列操作、append、sort、reverse、嵌套和解析

字典

定义

是一种映射,是python核心对象集合中的唯一的一种映射类型,特具有可变性

元组

定义

可认为元组是不可以改变的列表
应用得不太频繁,但是它的关键在于不可变性;对于编写更大型的程序时比较方便

文件

1
2
3
open('.txt','w')
open('.txt')
open('.bin','rb').read()

集合

1
x = set('spam')

输出结果:{‘a’, ‘m’, ‘p’, ‘s’}
操作有:

操作 符号
交集 &
并集
差集 -