当前位置: 首页 > news >正文

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}

http://www.xdnf.cn/news/1239643.html

相关文章:

  • 13.Redis 的级联复制
  • 03.一键编译安装Redis脚本
  • sqli-labs:Less-23关卡详细解析
  • 【运维基础】Linux 硬盘分区管理
  • 数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
  • Corrosion2靶机练习笔记
  • 选择排序原理与C语言实现详解
  • 第15届蓝桥杯Scratch图形化国赛初/中级组2024年9月7日真题
  • 【LeetCode刷题指南】--对称二叉树,另一颗树的子树
  • 【量化交易】日内交易有效特征因子
  • Socket编程——TCP协议
  • 智慧社区(六)——社区居民人脸识别功能实现详解:从腾讯 API 集成到模拟验证
  • CMake 命令行参数完全指南(2)
  • C++入门自学Day5-- C/C++内存管理(续)
  • 控制建模matlab练习08:根轨迹
  • 【图像处理基石】如何使用deepseek进行图像质量的分析?
  • pycharm上如何添加conda环境
  • 当Windows远程桌面出现“身份验证错误。要求的函数不受支持”的问题
  • [硬件电路-150]:数字电路 - 数字电路与模拟电路的异同
  • Ollama模型库模型下载慢完美解决(全平台)
  • 算法讲解--最大连续1的个数
  • RSA 解密逻辑
  • 【从零开始学习Redis】初识Redis
  • 第13章 文件输入/输出
  • 网关与路由器的区别
  • 【MySQL】MySQL中锁有哪些?
  • 常见的框架漏洞(Thinkphp,spring,Shiro)
  • 2025年测绘程序设计比赛--基于统计滤波的点云去噪(已获国特)
  • 波士顿房价预测工具 - XGBoost实现
  • openwrt 23.05编译intel igb5.19.4驱动