Python基础:详解list、tuple、dict、set数据类型及其转换方法

创始人
2024-12-17 07:01:36
0 次浏览
0 评论

Python里面如何实现tuple和list的转换

列表。
列表是一个有序的集合,可以随时添加或删除项目。

元组(原始祖先):元组与列表非常相似,但元组一旦初始化就无法修改。
例如,同学的名字也显示出来:

tupletolist

在python3下运行

python2在python2下运行

listfortuple

在python2下运行

在python3下运行

List和tuple是Python内置的-在有序集合中,一个一个是可变的,另一个是不可变的。

Python中内置数据类型list,tuple,dict,set的区别和用法

本文主要向大家介绍Python中tuple、dict、set等内置数据类型列表的区别和使用,都是非常基础、详细、全面的知识,有需要的朋友可以参考一下。
Python简洁明了,用更少的代码就能实现同样的功能。
其中,Python内置的四种数据类型list、tuple、dict、set缺一不可。
以下是它们的简要总结。
列表字面意思就是集合。
在Python中,列表中的元素用方括号[]表示。
您可以定义这样的列表:L=[12,'China',19.998]。
不需要。
当然,你也可以定义一个空列表:L=[]Python中的列表是有序的,所以如果要访问列表,显然要通过序号来访问,就像数组下标一样,下标开始from0.:>>>printL[0]12一定不能超过限制,否则会报错>>>printL[3]Traceback(mostrecentcalllast):文件还可以访问"",line1,inIndexError:listindexoutofrangeList以相反的顺序。
序列号用下标表示,如“xthfromlast”例如,下标-1表示最后一项中的第一项:>>>L=[12,'China',19.998]>>>printL[-1]19.998-4行显式跳过>>>printL[-4]Traceback(mostrecentcalllast):File"",line1,inprintL[-4]错误在索引处:listindexoutofrange>>>通过内置的append()方法将列表添加到末尾,通过insert()方法将其添加到指定位置(下标从0开始):>>>L=[12,'中国',19.998]>>>L.append('jack')>>>printL[12,'china',19.998,'Jack']>>>L.insert(1,3.14)>>>printL[12,3.14,'China',19.998,'Jack']>>>用pop(删除最后一个尾部元素),也可以指定参数删除指定位置:>>>L.pop()'Jack'>>>printL[12,3.14,'China',19.998]>>>L.pop(0)12>>>printL[3.14,'China',19.998]也可以复制并替换为下标>>>L[1]='America'>>>printL[3.14,'America',19.998]TupleTuple可以被视为“未更改”列表,也可以通过订阅,用括号()表示:>>>t=(3.14,'China','Jason')>>>printt(3.14,'China','Jason')但不能重置和替换:>>>t[1]='美国'回溯(mostreCentcalllast):File"",line1,int[1]='America'TypeError:'tuple'objectdoesnotsupportitemsignment它也没有pop、insert和append方法。
可以创建空元素的元组:t=()或单个元素的元组(如添加逗号以防止和声明整数歧义):t=(3.14,)那么元组类型有什么用呢?要知道,如果想要一个函数返回多个返回值,只需要返回一行即可,因为一行包含多个值,并且是不可变的(就像Java中的final一样)。
当然,row也是可变的,比如:>>>t=(3.14,'中国','杰森',['A','B'])>>>printt(3.14,'中国','杰森',['A','B'])>>>L=t[3]>>>L[0]=122>>>L[1]=233>>>printt(3.14,'China','Jason',[122,233])这是因为所谓的元组不变性指的是指示位置的不变性,因为这个例子中的第四个元素不是基类型,而是列表类型,所以所指示的列表的位置保持不变,但内容列表本身可以改变,因为列表本身不是在内存中连续分配的。
DictDict是Python中非常重要的数据类型,就像它的字面意思一样,它实际上是一个键值对,类似于HashMap,定义如下:>>>d={'Adam':95,'Lisa':85,'Bart':59,'Paul':75}>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Bart':59}可以看到结果以Key:Value格式打印,其长度可以通过len函数计算(列表和元组也可以):>>>len(d)4可以直接通过key传递在值对中听写添加元素:>>>printd{'丽莎':85,'保罗':75,'亚当':95,'巴特':59}>>>d['约翰']=99>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Jone':99,'Bart':59}List和Tuple使用订阅来访问内容,而Dict使用Key来访问字符串和数字整数、浮点、元组类型都可以作为听写键)>>>printd['Adam']95如果键不存在则报错:>>>printd['Jack']Traceback(mostrecentcalllast):File"",line1,inprintd['Jack']KeyError:'Jack'所以在访问之前,最好检查一下是否密钥存在:>>>if'Adam'ind:print'existkey'existkey或者直接使用安全获取方法:>>>printd.get('Adam')95>>>printd.get('Jason')None至于dict遍历,其实就是遍历它的所有key的集合,然后用那个key来获取对应的值:>>>forkeyind:printkey,':',d.get(key)Lisa:85Paul:75Adam:95Bart:59Dict有一些属性:搜索速度快。
无论是10还是10万,速度都是一样的,但代价就是消耗大量内存。
相反,列表消耗的内存较少,但搜索速度较慢。
这类似于数组和链表之间的区别。
数组不知道要开辟多少空间,所以往往一开始就开辟很大的空间,但直接通过脚本查找速度更快,而链表占用的空间较小,但顺序查找时还得查找,导致速度很慢速度快,没​​有排名。
Dict是无序的,而List是有序集合,所以Dict不能用来存储有序集合,Key是不可变的,Value是可变的。
一旦将键值对添加到字典中,其对应的键就无法更改,但值可以。
因此,不能使用该列表作为听写键,但可以用作值:>>>printd{'Lisa':85,'Paul':75,'Adam':95,'Jone':99,'Bart':59}>>>d['列出新内容']=[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>>>打印{'Bart':59,'NewMenu':[12,23,'Jack'],'Adam':95,'Jone':0,'Lisa':85,'Paul':75}合并听写,如何合并两个From听写合一,可以使用numberdict函数:>>>d1={'迈克':12,'杰克':19}>>>d2={'琼斯':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中提取密钥这样,就像list,但不可以重复内容可以重复,通过调用set()方法创建:>>>s=set(['A','B','C'])正如dict是无序的,set是也是无序的并且不能包含在重复的项目上。
访问集合的意义只是检查集合中是否存在该元素:>>>print'A'insTrue>>>print'D'insFalse区分大小写。
另请转到:s=set([('Adam',95),('Lisa',85),('Bart',59)])#tupleforxins:printx[0],':',x[1]>>>Lisa:85Adam:95Bart:59通过添加和重做去添加和删除项目(保持不重复)添加项目时,使用set的add()方法:>>>s=set([1,2,3])>>>s.add(4).)>>>printsset([1,2,3,4])比如如果添加的元素已经存在于set中,add()不会报错,但不会添加:>>>s=set([1,2,3])>>>s.add(3)>>>printsset([1,2,3])要删除集合项,请使用集合的remove()方法:>>>s=set([1,2,3,4])>>>s.remove(4)>>>>printsset([1,2,3])如果删除的项在集合中不存在,pemove()会报错:>>>s=set([1,2,3])>>>s.remove(4)Traceback(mostrecentcalllast):File"",line1,inKeyError:4所以如果我们想要指定内容如果元素满足几个不同的条件,那么使用set是最好的选择。
示例:months=set(['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月',])x1='二月'x2='星期日'ifx1inmonths:print'x1:ok'else:print'x1:error'ifx2inmonths:print'x2:ok'else:print'x2:error'>>>x1:okx2:error
文章标签:
tuple list
热门文章
1
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

2
Python字典操作全解析:添加、修改、... Pythondict字典基本操作(包括添加、修改、删除键...

3
Python错误处理与异常处理:构建稳定... 2.5错误处理与异常在编程领域,错误处理和异常处理是保证程序稳定性和健壮性的关键...

4
Python数据转换攻略:字符串、列表、... Python字典、字符串及列表的相互转换Python中数据转换的艺术:从字典和字...

5
Python列表相加与求和技巧解析 重温python基础:列表相加的方法(两个list[]加法)今天,我们来看看Py...

6
Python运行快捷键大揭秘:高效操作,... python运行按哪个键运行Python时的快捷键包括Ctrl+Shift+F1...

7
Python字符与数字互转攻略:轻松掌握... python 字符与数字如何转换Python是一种功能强大且结...

8
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表Python中将字符串转换为列表的方法有多种,...

9
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表在Python中将字符串转换为列表的方法有很多...

10
Python列表转字符串全攻略:掌握四种... Python列表到字符串–如何在Python中转换列表在Python中,将列表转...