Python数据类型
- 基本类型
- 数字
- 整型 int
- 长整形 long
- 浮点型 float
- 字符串
- 文本 str
- 字节 bytes
- 布尔
True
False
- 数据集
- 列表 list
- 元组 tuple
- 字典
- 有序字典
- 无序字典
- 集合
- 有序集合
- 无序集合
列表
- 列表的功能
- 创建
L1 = [] #创建一个空列表
L2 = ['a','b','c',1,3,5,7,3,5,4,2] #创建列表
list() #另一种方法创建一个空列表
- 查询
L2[2] #返回'c' 通过索引取值,-1是取最后一个值
L2.index('c') #获取索引值
L2.count('c') #统计列表中'c'的个数
- 切片
L2[0:2] #返回前两个元素'a'和'b',索引值0和一,不包括2
L2[:2] #同上,另一种写法
L2[0:10:2] #最后一个数字表示步长
- 增加
L2.append('y') #追加,放在最后
L2.insert(0,'y') #插入,0代表插入位置
- 修改
L2[2] = 'g' #直接赋值即可
- 删除
L2.pop() #删除最后一个元素
L2.remove('c') #删除元素'c'
del L2[0] #删除第一个元素;del是全局删除,可以删除变量、整个列表
- 循环
for i in L2: print(i) for index,i in enumerate(L2):
- 排序
L2.sort() #按ASCii码排序
L2.reverse() #倒序
- 创建
- 列表的方法
append() #追加
insert() #插入
index() #获取索引值
count() #统计相同元素个数
pop() #删除最后一个元素
remove() #删除指定元素
sort() #按ASCii码排序
reverse() #倒序
clear() #清空列表
copy() #Copy列表
len(列表名) #获取列表长度
字符串函数
swapcase() #大小写互换
format() #格式化
index() #返回索引值
isalnum() #判断是否阿拉伯字符
isalpha() #同上
isdigit() #判断是否是整数
isidentifier() #判断是否是合法的变量名
islower() #判断是否小写
isprintable() #判断是否可以打印
ispace() #判断是否空格
join() #将列表变成字符串('-'.join(列表名))
lower() #变小写
upper() #变大写
strip() #去掉两头的空格、换行、Tab
str.maketrans(变量1,变量2) #密码表
replace('原字符','新字符',[替换次数])
find() #查找字符
count() #统计相同字符个数
center()
split()
元组
元组与列表差不多,也是一组数据,只是它一旦创建便不能修改,所以也叫只读列表
- 特性:
不可变
元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变 - 功能:
index
count
切片 - 使用场景:
显示的告知,此处数据不可修改
数据库连接配置信息等
字典
- 特征:
key--value结构
key必须可以hash,且必须为不可变数据类型,必须唯一
value可存放任意多个值,可修改,可以不唯一
无序
查找速度快 - 语法:
- 创建:
info = {'s01':'zhangsan','s02':'lisi','s03':[22,'gongcs','asd']}
- 增加:
info['s01'] = 'wuangwu'
- 修改:
同上 - 查询:
's02' in info #返回True或False
info.get('s02') #如没有返回none
info['s02'] #如没有会报错
- 删除:
info.pop('s02')
info.popitem() #随机删除
del info['s02']
- 创建:
- 多级字典嵌套
- 常用函数(方法)
info.keys() #取出key
info.values() #取出value
info.items() #将key和value放入一个列表
info.update(字典名) #合并两个字典
info.setdefault(key,'value') #如果有这个key就不改变,如果没有就创建
info.fromkeys([列表])
- 字典循环:
for k in info: print(k,info[k]) for k,v in info.items(): print(k,v)
- 常用函数(方法)
集合
集合是一个无序的,不重复的数据组合
- 作用:
去重:把一个列表变成集合,就自动去重了
关系测试:测试两组数据之间的交集、差集、并集等关系 - 语法:
s = {} #创建一个空的集合
s = {1,2,3,4,5} #创建一个集合
set(列表名) #将列表转换为集合
- 增加:
s.add(6)
- 删除:
s.pop() #随机删除
s.remove(2) #删除一个元素
s.discard(7) #删除一个元素,如果没有这个元素,不会报错
s.update([7,8,9,0]) #可以同时增加多个元素
s.clear() #清除集合
- 增加:
- 关系测试:
- 交集:
s.intersection(s2)
s & s2
- 差集
- 获得 s 的差集
s.difference(s2)
s - s2
- 获得 s2 的差集
s2.difference(s)
s2 - s
- 对称差集
s.symmetric_difference(s2)
s ^ s2
- 获得 s 的差集
- 并集
s.union(s2)
s | s2
- 超集/子集
s.issuperset(s2) s >= s2
s2.issubset(s) s2 <= s
- 交集:
- 包含关系:
in,not in
:判断某元素是否在集合内
==,!=
:判断两个集合是否相等
两个集合之间一般有三种关系:相交、包含、不相交
s.isdisjoint(s2)
:判断两个集合是否不相交 - 字符编码
oct()
:十进制转八进制
hex()
:十进制转十六进制
bin()
:十进制转二进制
chr()
:ascii码转换
s.decode("utf-8")
:解码
s.encode("gbk")
:编码