Python基础:List、Tuple、Dict、Set四大数据类型详解
创始人
2024-12-31 12:25:18
0 次浏览
0 评论
Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,用更少的代码就能完成同样的任务。其中,Python内置的四种数据类型缺一不可:list、tuple、dict、set。
以下是它们的简要总结。
列表的字面意思是集合。
在Python中,列表中的元素用方括号[]表示。
您可以定义如下列表:L=[12,'China',19.998]不需要。
相同的。
当然,你也可以定义一个空列表:L=[]Python中的列表是有序的,所以如果你想访问列表,你必须通过序号显式地访问它,就像数组的下标一样,下标从0开始。
:>>>printL[0]12不能超过限制,否则会报错>>>printL[3]traceback(mostresntcalllast):file"
序列号由下标表示,例如“倒数第x个”。
例如,下标-1代表倒数第二个元素:>>>L=[12,'china',19.998]>>>printL[-1]19.998-4显然越界了。
]Traceback(mostrecentcalllast):File"
):>>>t=(3.14,'中国','杰森')>>>printt(3.14,'中国','json'),但无法重新分配和替换:>>>t[1]='America'traceback(mostreCentcalllast):File"
您可以创建空元素的元组:t=()或单元素元组(例如添加逗号以防止和声明整数歧义):t=(3.14,)那么元组类型有什么用呢?要知道,如果想要一个函数返回多个返回值,只需要返回一个元组即可,因为一个元组保存多个值,并且是不可变的(就像Java中的final一样)。
当然,元组也是可变的,如下所示:>>>t=(3.14,'China','Jason',['A','B'])>>>print(3.14,'China','Jason',['a','b'])>>>l=t[3]>>>l[0]=122>>>l[1]=233>>>打印(3.14,'China','Jason',[122,233])这是因为所谓元组的不变性是指指向状态的不变性,因为这个例子中的第四个元素不是基本类型,而是列表类型,所以指出链表的位置保持不变,但是链表本身的内容可能会改变,因为链表本身并不是在内存中连续分配的。
DictDict是Python中非常重要的数据类型。
就像它的字面意思一样,它实际上是一个键值对,你可以使用大括号{}在C语言中像结构体一样定义它:>>>d={'Adam':95,'Lisa':85,'巴特:59,'Paul':75}>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Bart':59}你可以看到打印的结果是key:value的格式,其长度可以通过len函数计算(也可以使用list、tuple):>>>len(d)4直接传递给keyvalue。
指令:>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Bart':59}>>>d['Jone']=99>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Joan':99,'Bart':59}要访问列表和元组内容,Dict使用键进行访问:(字符串、整数、浮点数,元组可以作为dict的key)>>>printD['Adam']95如果key不存在,会报错。
Go:>>>printd['Jack']traceback(mostrecentcalllast):file"
,d。
get(key)Lisa:85Paul:75Adam:95Bart:59Dict的一些特点是:搜索速度快。
无论是10还是10万,速度都是一样的,但代价是更大的内存量。
相比之下,List占用的内存较少,但搜索速度较慢。
这就像数组和链表之间的区别。
数组不知道要开辟多少空间,所以往往一开始就开辟更大的空间,但直接通过下标查找速度更快,而链表占用的空间更少;位置,但顺序遍历会导致搜索时非常缓慢且随机的遍历。
字典不受控制,而List是一个有序集合,因此Dict不能用于存储有序集合,因为键是不可变的,而值是可变的。
一旦将键值对添加到字典中,其对应的键就无法更改,但值可以更改。
因此,列表不能用作字典的键,但可以用作值:>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Joan':99,'巴特':59}>>>d['newlist']=[12,23,'杰克']>>>printd{'巴特':59,'newlist':[12,23,'杰克'],'亚当':95,'琼':99,'丽莎':85,"Paul":75}密钥不能重复。
(下面的例子中添加了一个'Jone':0,但实际上'Jone'的键已经存在,所以简单地改变了原来的值)>>>printd{'Bart':59,'NewList':[12,23,'杰克'],'亚当':95,'琼':99,'丽莎':85,'保罗':75}>>>d['琼']=0>>>printd{'巴特':59,'新列表':[12,23,'杰克'],'亚当':95,'琼':0,'丽莎':85,'保罗':75}字典合并,如何将两个dict合并为一个,可以使用dict函数号:>>>d1={'mike':12,'jack':19}>>>d2={'jone':22,'ivy':17}>>>dMerge=dict(d1.items()+d2.items())>>>printdMerge{'mike':12,'jack':19,'jone':22,'ivy':17}或>>>dMerge2=dict(d1,**d2)>>>printdMerge2{'mike':12,'jack':19,'jone':22,'ivy':17}方法2比方法1快得多。
方法2相当于:>>>dMerge3=dict(d1)>>>dMergee3.update(d2)>>>printdMerge{'mike':12,'jack':19,'jone':22,'ivy':17}SetSet就像从Dict中提取key一样,类似于列表,但内容不能重复。
它是通过调用set()方法创建的:>>>s=set(['A','B','C'])正如字典是无序的一样,集合也是无序的并且不能包含重复的元素。
能。
访问集合仅意味着检查集合是否包含元素:>>>print'A'insTrue>>>print'D'insFalse区分大小写。
同样遍历:s=set([('Adam',95),('Lisa',85),('Bart',59)])#tupleforxins:printx[0],':',x[1]>>>Lisa:85Adam:95Bart:59通过add和remove来添加和删除元素(添加的时候不要一直重复元素),使用set的add()方法:>>>s=set([1,2,3])>>>s.add(4)>>>printset([1,2,3,4])如果添加的元素已经存在于集合中,add()返回错误,不会报错,但不会添加:>>>s=set([1,2,3])>>>s.add(3)>>>printset([1,2,3])Remove对于集合中的元素,使用集合的remove()使用:>>>s=set([1,2,3,4])>>>s.remove(4)>>>printset([1,2,3])如果删除的元素存在于如果没有设置,remove()会报错:>>>s=set([1,2,3])>>>s.remove(4)Traceback(mostreCentcalllast):File"
一月','二月','三月','四月','五月','六月','七月','八月','九','十月','十一月','十二月',])x1='二月'x2='太阳'ifx1inmonths:print'x1:ok'else:print'x1:error'ifx2inmonths:print'x2:ok'else:print'x2:error'>>>X1:okx2:error
python判断一个数是否在列表中?
要检查某个值是否在Python中的列表中,可以使用关键字。
如果值在列表中,则返回此关键字,否则返回。
例如,您可以使用以下代码来检查该值是否在列表中:inTrueFalse42my_list
发出此代码是因为该值不在列表中。
但是,例如,如果您更改要包含的值,则会发出代码,指示该值位于列表中。
False42my_listmy_list42[1,2,3,4,5,42]True
您还可以使用此关键字来检查某个值是否不在列表中。
例如,您可以使用以下代码来检查它是否不在列表中:notin42my_list
发出此代码是因为它不在列表中。
如果更改要包含的值,将发出代码指示该值位于列表中。
True42my_listmy_list42False
总的来说,关键字and提供了一种简单便捷的方法来检查值是否在Python列表中。
innotin
答案很难,请采纳
上一篇:
Python字符相加空格输出技巧解析
相关文章
Python字符串大小写转换:4种方法深...
2024-12-29 15:24:48Python编程:高效求解1-100范围...
2024-12-14 23:43:35Python列表操作指南:旋转、反转与高...
2024-12-25 13:38:56Python join函数使用指南:字符...
2024-12-16 19:17:39Python编程中的变量mu:含义与用法...
2024-12-15 06:58:49Python字符串索引与切片截取技巧详解
2024-12-17 08:58:50Python脚本执行Linux系统命令及...
2024-12-24 19:36:38Python字符串数字排序:列表自定义比...
2024-12-30 21:35:39Python输出换行技巧:轻松掌握\n的...
2024-12-14 19:58:00Python算法实战:百钱百鸡问题解析与...
2024-12-17 12:25:44最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
1
Python中的format()方法:字...
formatformat在python中的含义2222.22E+00Format...
2
Python编程入门:全面解析Pytho...
python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...
3
Python字符串大小写转换方法全解析
python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...
4
Python字典:轻松获取最小值键与计算...
python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...
5
Python字符串去重空格:strip(...
Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...
6
Python数组元素数量计算技巧分享
Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...
7
简述python中pass的作用
pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...
8
Python def 关键字详解:函数定...
def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...
9
python不区分大小写的方法
Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...
10
Python字典操作全解析:添加、修改、...
Pythondict字典基本操作(包括添加、修改、删除键...