python常用数据类型
目录
一、常用数据类型
1.1. 数字类型
1.1.1. 类型强制转换
1.2. 字符串类型
1.2.1. 字符串强制转换
1.2.2. 转义字符串
1.2.3. 字符串格式化
1.2.4. format格式化字符串
1.2.5. f-string格式化字符串
1.2.6. 字符串方法
① replace
② strip
③ partition
④ isdigit
⑤ split
⑥ join
⑦ count
1.3. 列表数据类型
1.3.1. 字符串方法
① append
② extend
③ insert
④ sort
⑤ count
⑥ index
⑦ pop
⑧ remove
⑨ copy
⑩ clear
1.4. 元组数据类型
1.4. 1.元组方法
① count
② index
1.5. 字典数据类型
1.5.1.字典创建方法
1.5.2.修改字典方法
1.5.3. 字典对象方法
① keys
② vlues
③ items
④ get
⑤ update
⑥ pop
⑦ clear
1.6. 集合数据类型
1.6.1. 集合常用方法
① issubset
② issuperset
③ union
④ intersection
⑤ difference
⑥ symmetric_difference
一、常用数据类型
数字、字符串、列表、元组、字典和集合
1.1. 数字类型
int、float、bool、complex(复数类型数据不常用)
1.1.1. 类型强制转换
a = int(3.99) # 将浮点型转为整型,直接舍弃小数点后面的数
print(a) # 3a = int("12") # 把整数型字符串"12"转为整型
print(a) # 12a = 123
b = "123"
c = "1.23"a1 = float(a)
print(a1) # 123.0b1 = float(b)
print(b1) # 123.0
c1 = float(c)
print(c1) # 1.23print(bool(1)) # True
print(bool(2)) # True
1.2. 字符串类型
特性:特点:String 是不可变的,它是序列
s1 = 'hello world' # 一对单引号定义单行字符串
s2 = "hello world" # 一对双引号定义单行字符串
1.2.1. 字符串强制转换
print(str())
print(str(123456))
1.2.2. 转义字符串
\行尾 | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\'' | 双引号 |
\t | 横向制表位 |
\n | 回车 |
print("123\n456") # 换行
print(r"www.baidu.com\n") # 原始字符串
1.2.3. 字符串格式化
%s | 字符串 |
%d | 整型 |
%f | 浮点数 |
print("它说它叫%s, 今年%d岁, 每天睡%f小时!" % ("旺财", 2, 8.5))
print("pi1 = %10.3f" % PI) # 最小显示总宽度为10,保留小数点后3位
1.2.4. format格式化字符串
b = "它说它叫{1}, 它今年{0}岁, 它宝宝{2}个月了!".format(2,"旺财", 3)print('{:0>8}'.format('1')) # 总宽度为8,右对齐,使用0填充
print('{:a<8}'.format('1')) # 总宽度为8,左对齐,使用a填充num = 100
print('{:b}'.format(num)) # 1100100
print('{:d}'.format(num)) # 100
print('{:o}'.format(num)) # 144
print('{:x}'.format(num)) # 64
1.2.5. f-string格式化字符串
name = "WangCai"
age = 2
# f-string用大括号 {} 表示被替换字段,其中直接填入替换内容:
print(f"它说它叫{name}, 它{age}岁, 它宝宝{age}月了!")
1.2.6. 字符串方法
① replace
s = "Line1 Line2 Line4"
# 用 "b" 替换所有的 "Li"
rs = s.replace("Li", "b")
print(rs) # bne1 bne2 bne4
② strip
str1 = ' \thello wrold h \n'
# 没有传参,删除字符串两边的空白符(空格、换行符、制表符)
print(str1.strip()) # hello wrold hstr2 = "ooho hello wrold"
# 移除str2头尾的字符"o",头部有两个连续的,都移除,尾部没有可以
移除的
print(str2.strip('o')) # ho hello wrold
③ partition
按照指定的分割符对字符串进行分割,返回分割符号前、分隔符号、分隔符号后内容
#分割后结果返回元组
print(str1.partition("l")) #('he', 'l', 'lo world')
④ isdigit
如果字符串中的所有字符都是数字,则返回 True,否则为 False
str1 = "abc牛123"
print(str1.isdigit()) # False
⑤ split
s = " Line1-abcdef \nLine2-abc \nLine4-abcd"
a = s.split(" ")
print(a) #['', 'Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']
⑥ join
a = "\\" # 单个反斜杠
s1 = "hello world"
print(a.join(s1)) #h\e\l\l\o\ \w\o\r\l\d
⑦ count
a = "hello world"
a1 = a.count("l") # 3
1.3. 列表数据类型
List 是可变的,它是序列
list1 = ["h", "e", "l", "l", "o", " ", "1", "牛", "3"]
# 通过索引把列表下标为4对应的元素改为 "-"
list1[4] = "-"
list 强制转化,将可迭代对象转换成列表
print(list("China")) # ['C', 'h', 'i', 'n', 'a']
1.3.1. 字符串方法
① append
在列表末尾增加新元素
li = [1, 2]
li.append(1) # 添加数字
print(li) #[1, 2, 1]
② extend
将可迭代对象中的元素都加载到列表中
li = [1, 2]
li.extend("1") # 添加字符串中的元素
print(li) # [1, 2, '1']
li.extend([1, 2]) # 添加列表中的元素
print(li) #[1, 2, '1', 1, 2]
③ insert
在列表指定索引处插入指定元素
li = [1, 2, 3, 4, True, False]
a = [5, 6, 7]
li.insert(1, a)
print(li) # [1, [5, 6, 7], 2, 3, 4, True, False]
④ sort
对列表中的元素进行排列
num_list = [1, -2, 5, -3]
# 默认reverse=False升序
num_list.sort()
print(num_list) # [-3, -2, 1, 5]
# 指定reverse=True降序
num_list.sort(reverse=True)
print(num_list) # [5, 1, -2, -3]
⑤ count
统计指定元素在类表中出出现的次数
print(a.count(23)) # 2
⑥ index
查找指定元素在列表中第一次出现的索引号
a = [1, 2, 3, 4, 3, 2, 3]
# 找到第一个3的位置索引是2
print(a.index(3)) # 2
⑦ pop
删除指定索引的元素,如果索引号不指定,则删除最后一个元素
li = [1, 2.3, 2+3j, "4", True, False]
print(li.pop()) # 未给定参数,则删除最后一个元素并返回
print(li) # 删除元素后的列表
print(li.pop(2)) # 删除索引2对应的元素
print(li) # 删除元素后的列表
⑧ remove
删除指定的元素
li = [1, 2, 4, 2, 3, 3]
li.remove(2) # 移除第一个2
⑨ copy
对指定对象进行复制
li1 = [1, 2, 4, 2, 3, 3]
li2 = li1.copy()
print(li2) # [1, 2, 4, 2, 3, 3]
⑩ clear
删除所有列表元素
li = [1, 2, 4, 2, 3, 3]
li.clear()
print(li) # []
1.4. 元组数据类型
元组是序列且是不可变的
tup1 = ('China', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d" # 不需要括号也可以
元组强制将列可迭代对象转成元组
print(tuple()) # 返回空元组 ()
print(tuple("China")) # ('C', 'h', 'i', 'n', 'a')
1.4. 1.元组方法
① count
返回指定元素在元组中出现的次数
a = (1, 23, 1, 3, 23, "23")
print(a.count(23)) # 2
② index
返回指定元组第一次出现的索引号
a = (1, 2, 3, 4, 3, 2, 3)
# 找到第一个3的位置索引是2
print(a.index(3)) # 2
1.5. 字典数据类型
字典的每个键值对用冒号 : 隔开写成 key: value 的格式,每个键值对之间用逗号 , 隔开,包括在花括号 {} 中
a = {'姓名': '张三', '年龄': 28}
print(a) #{'姓名': '张三', '年龄': 28}
1.5.1.字典创建方法
① 创建空字典后,添加键值对
a = dict() # a = {} 这样写也可以
a['姓名'] = '张三'
a['年龄'] = 28
② 使用可迭代对象进行创建字典
a = dict([("姓名", "张三"), ("年龄", 28)]) # 这里用元组/列
表/集合都是可以的
print(a)
③ 使用zip函数进行创建字典
a = dict(zip(["姓名", "年龄"], ["张三", 28]))
print(a)
1.5.2.修改字典方法
d1 = {"身高": 175, "体重": 65}
d1["身高"] = "1米75"
d1["名字"] = "张三"
1.5.3. 字典对象方法
① keys
返回字典的键
d1 = {'身高':175, '体重':65, '肤色':'黑色', '名字':'张三'}
a = list(d1.keys())
print(a) # ['身高', '体重', '肤色', '名字']
② vlues
返回键值对中的值
d1 = {'身高':175, '体重':65, '肤色':'黑色', '名字':'张三'}
a = list(d1.values())
print(a) #[175, 65, '黑色', '张三']
③ items
返回键值对
d1 = {'身高':175, '体重':65, '肤色':'黑色', '名字':'张三'}
a = d1.items()
print(a)
print(list(a)) #[('身高', 175), ('体重', 65), ('肤色', '黑色'), ('名字', '张三')]
④ get
根据指定的键获取对应的值
dic = {"身高":175, "体重":65}
value = dic.get("体重")
print(value) # 65
⑤ update
在原来字典的基础上增加新的键值对
d1 = {'身高': 175, '名字': '张三'}
d2 = {'肤色': '巨黑'}
d3 = {'身高': '1米75'}
# other 为另一个字典对象
d1.update(d2)
⑥ pop
删除指定的键
d1 = {'身高':175, '名字':'张三', '年龄':18}
value1 = d1.pop('年龄')
print(d1) {'身高': 175, '名字': '张三'}
⑦ clear
删除字典中的所有元素
dic = {'name': '小明', '年龄': 18, '学历': '本科'}
dic.clear()
print(dic) # {}
1.6. 集合数据类型
使用set关键词创建集合
print(set("China")) # {'a', 'C', 'i', 'h', 'n'}
print(set([1, 2, 3])) # {1, 2, 3}
集合具有去重性
# 把一个列表变成集合,就会自动去掉重复的元素
li = [1, 2, 4, 5, 7, 7, 4, 5]
a = set(li)
print(a) #{1, 2, 4, 5, 7}
1.6.1. 集合常用方法
① issubset
判断是否是子集
str1 = "132"
list1 = [1, 4, "1", "2"]
dic1 = {1:"1", 2:"2"}
set1 = {"1", "2"}
print(set1.issubset(str1)) # True
print(set1.issubset(list1)) # True
print(set1.issubset(dic1)) # False
② issuperset
判断元素是否属于该集合
str1 = "12"
list1 = [1, "2"]
dic1 = {1:"1", 2:"2"}
set1 = {"1", "2", 1, 3}
print(set1.issuperset(str1)) # True
print(set1.issuperset(list1)) # True
print(set1.issuperset(dic1)) # False
③ union
求并集
str1 = "12"
list1 = [1, "2"]
dic1 = {1:"1", 2:"2"}
set1 = {"1", "2", 1, 3}
print(set1.union(str1, list1, dic1)) #{1, 2, 3, '1', '2'}
④ intersection
求交集
str1 = "12"
list1 = [1, "2"]
dic1 = {"1":1, "2":2}
set1 = {"1", "2", 1, 3}
print(set1.intersection(str1, list1, dic1)) #{'2'}
⑤ difference
求差集
str1 = "12"
list1 = [1, "2"]
dic1 = {"1":1, "2":2}
set1 = {"1", "2", 1, 3}
print(set1.difference(str1, list1, dic1)) #{3}
⑥ symmetric_difference
求不是共同的元素集合
str1 = "12"
list1 = [1, "2"]
dic1 = {1:"1", 2:"2"}
set1 = {"1", "2", 1, 3}
print(set1.symmetric_difference(str1)) # {1, 3}