百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python常用数据类型及其用法-总结篇

itomcoil 2025-03-07 19:57 17 浏览

前言

在前面的文章中,我们介绍了Python常用的数据类型及其相关方法,分别为:

  1. Python列表详解
  2. Python元组与字典用法详解
  3. Python集合详解
  4. Python字符串

与我们软件开发或测试过程中的数据库操作类似,Python的数据操作也可以归纳为增、改、删、查几个部分,下面主要从这几个方面对Python的常用数据类型作一次简单的总结,从而达到更加全面了解的目的。

从是否可变序列、是否有序层面看

数据类型

中文释义

示例

是否可变序列

是否有序

是否可迭代

是否可重复

int

整型

88/666

/

/

不可迭代

/

float

浮点型

88.88/0.56

/

/

不可迭代

/

bool

布尔型

True/False/0/1

/

/

不可迭代

/

str

字符串型

"python"

不可变

有序

可迭代

可重复

tuple

元组

(1,2,3,'a','b','c')

不可变

有序

可迭代

可重复

list

列表

[1,2,2,3,'a','b','c']

可变

有序

可迭代

可重复

dict

字典

{"name":"tom","age":18}

可变

无序

可迭代

不可重复

set

集合

{1,2,88,'name','age'}

可变

无序

可迭代

不可重复

  • 字符串、元组都是不可变序列,一旦创建无法修改;列表、字典、集合都是可变序列。
  • 字符串、元组、字典都是有序序列,能够通过index下标获取元素值;字典、集合是无序序列。
  • 字符串、元组、列表、字典、集合都是可迭代对象,能够通过for循环遍历元素。
  • 字符串、元组、列表可重复;字典、集合不可重复,所以列表可以强转成集合进行去重。

类比查/增/改/删

字符串

字符串(str)

操作

方法

示例

创建(create)

" "

str1="python"

查(select)

find

str1.find('s', 0, -1),查找指定范围内是否存在某字符,是则返回下标不存在返回-1

str1[index],获取字符串中指定索引的字符

str1[0:3],获取第1-3个字符

str1[0:8:2],获取第1-8个字符,步长为2

增(insert)

join

str1.join(obj),新增可迭代对象到字符串

'#'.join(obj),将可迭代对象合并为字符串并用#连接

改(update)

lower

split

replace

str1.lower(),字符串转换为小写

str1.split(' '),将字符串中的每个字符通过空格分隔(返回值为列表形式)

str1.replace(old,new,count),替换指定字符,不加count默认全部替换

删(delete)

replace

strip

str1.replace(old,'',count),将指定字符用空字符代替,从而达到删除目的,不加count默认全部替换

str1.strip('python '),删除字符串首尾的指定字符,默认为空格或换行符,只能删除从开头开始或末尾结束的、不能删除中间的字符

其他方法

count

str1.count('i'),统计字符串中指定字符的出现次数

元组

元组(tuple)

操作

方法

示例

创建(create)

( )

tuple

tuple1=(1,2,3,4,5)

tuple1=tuple([1,3,5,7,9]),列表强转为元组

tuple3=tuple('hello world'),字符串强转为元组

tuple4=tuple({name:chen,age:28}),字典强转为元组

查(select)

find

tuple1[index],获取元组指定索引的值

tuple1.index(value,start,stop),查询指定范围内是否存在指定值,存在返回索引位置,不存在报错

增(insert)

/

/

改(update)

/

/

删(delete)

/

/

其他方法

count

tuple1.count('i'),统计字符串中指定字符的出现次数

[print(t) for t in enumerate(tuple1)],遍历元组,返回元素下标和对应的元素,返回形式为二维元组

列表

列表(list)

操作

方法

示例

创建(create)

[ ]

list

list1=[1,2,3,'a','b','c']

list('hello'),字符串强转换为列表

list(('age','name','height','weight')),元组强转为列表

list({'name': 'chen', 'age': 28}),字典强转为列表

查(select)

find

list1[index],获取列表指定索引的元素

list1.index('java',start,end)),检索start-end之间的是否存在指定元素,是则返回索引位置,不存在会报错(不指定范围默认检索全部)

增(insert)

append

extend

insert

list1.append(value),末尾追加元素

list1.extend(value),末尾追加元素

list1.insert(0, 555),指定索引位置添加元素

改(update)


list1[index]=value,修改指定索引位置的元素值

删(delete)

del

pop

remove

clear

del list1[index],删除指定位置的元素

list1.pop(),不添加索引,默认删除最后一个元素

list1.remove(value),根据元素值进行删除

list1.clear(),删除列表所有元素(清空列表)

其他方法

count

sort

sorted

reverse

list1.count('i'),列表元素出现次数统计

list1.sort(),列表排序

sorted(list1),列表排序(生成新的列表)

list1.reverse(),列表反转,不改变id

[print(n) for n in enumerate(list1)],遍历列表元素,并返回下标和对应元素,返回形式为二维元组

字典

字典(dict)

操作

方法

示例

创建(create)

{"key":"value"}

dict

dict.fromkeys

dict1={"name":"tom","age":18}

dict(age=28,name='tom')key=value,转换为字典

dict((("name", "lucy"), ("age", 28))),二维元组强转为字典

dict.fromkeys(['name', 'age', 'weight']),通过 fromkeys()方法创建字典

查(select)

get

keys

values

items

dict1[key],访问字典指定key对应的value值

dict1.get(key,default_value),获取指定key的value,不存在则返回默认值

dict1.keys(),获取所有key

keydict1.values(),获取所有value

dict1.items(),获取所有键值对

增(insert)


dict1[key]=new_value,添加键值对或更新指定键的值

改(update)

update

dict1[key]=new_value,添加键值对或更新指定键的值

dict1.update({key:value}),添加键值对或更新指定键的值

删(delete)

pop

popitem

del

dict1.pop('key'),删除指定键的键值对

dict1.popitem(),删除最后一个键值对,返回值是被删除的键值对

del dict1['key'],删除指定键的键值对

dict1[key].remove('key1'),移除嵌套字典中指定键的键值对

其他方法

copy

copy.copy

copy.deepcopy

dict2=dict1.copy(),通过dict自带的copy方法浅拷贝

dict2=copy.copy(dict1),通过copy模块copy()方法浅拷贝

dict2=copy.deepcopy(dict1),通过copy模块deepcopy()方法深拷贝

深拷贝复制的内容不会随原字典结构发生变化而变化,而浅拷贝复制的内容则会跟随原字典结构发生变化而变化

集合

集合(set)

操作

方法

示例

创建(create)

{ }

set

set1={1,2,88,'name','age'}

set([1, 3, 4, 5, 6,]),列表强转成集合

查(select)


集合是无序的,不可使用索引查找元素

增(insert)

add

set1.add(value),集合新增元素

改(update)

update

set1.update(obj),更新集合

删(delete)

remove

pop

discard

clear

set1.remove('a'),集合删除元素

set1.pop(),从最开始位置删除元素

set1.discard('e'),删除元素,不存在则不做任何操作

set1.clear(),清空集合

其他方法

copy

intersection

union

difference

set2 = set1.copy(),复制集合

求交集:ict=set1.intersection(set2)ict=set1 & set2

求并集:union=set1.union(set2)set_union=set1 | set2

求差集:diff=set1.difference(set2)diff=set1 - set2

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...