当前位置: 首页 > 科技观察

Python掌握并熟悉列表、元组、字典、集合数据类型

时间:2023-03-12 11:54:06 科技观察

序列对象(sequence)“序列”是编程中经常使用的一种数据存储方式。在其他编程语言中,“序列”通常被称为“数组”,一种用于存储相关数据项的数据结构。几乎每种编程语言都提供了一种“序列”数据结构,例如C和Basic中的一维和多维数组。序列和数组的区别:数组提供了一个连续的内存空间,可以存储相同的数据类型。列虽然是一个连续的存储空间,但是可以存储不同的数据类型,也可以理解为更“高级的数组”。[序列对象]python中常用的序列对象列表(可变数据类型)。元组(不可变数据类型)。集合集(可变数据类型)。Dictionary字典(可变数据类型)。字符串字符串(不可变)。范围()。1.ListList(类型)List(列表)是Python中使用频率最高的数据类型。列表可以完成大部分集合类的数据结构实现。它支持字符、数字、字符串,甚至可以包含列表(即嵌套)。列表用“[]”标记,是python中最通用的复合数据类型。如何创建列表语法:listobjectname=[element1,element2,...,elementN]。示例:创建列表对象的两种方法。方法一:默认方法listobject=[element1,element2,element3,...elementN,]>>>list1=[0,1,2,3,4,5,6,7,8,9,]>>>list1[0,1,2,3,4,5,6,7,8,9]>>>list2=['a','b','c','d','e','f',]>>>list2['a','b','c','d','e','f']>>>list3=['a',1,True,'Hello',]>>>list3['a',1,True,'Hello']示例:创建列表对象的两种方法。方法二:使用range0内置函数(Python3list)该函数是一个对象迭代器,可以将range()返回的可迭代对象转换为列表,返回的变量类型为列表。语法:listobject=list(range(stop))>>>list1=list(range(10))>>>list1[0,1,2,3,4,5,6,7,8,9]>>>>list2=list(范围(5,10))>>>list2[5,6,7,8,9]>>>list3=list(范围(0,10,2))>>>list3[0,2,4,6,8]Python3range()内置函数Python3range0函数返回的是可迭代对象,不是列表类型,所以打印的时候不会打印列表。创建语法①range(stop)②range(start,stop[,step])参数说明:start:从start开始计数。默认从0开始。例如:range(5)等同于range(0,5)。stop:计数到stop结束,不包括stop。例如:range(0,5)就是[0,1,2,3,4]没有5。step:步长,默认为1。例如:range(0,5)等价于range(0,5,1).如何访问列表?也可以用[头下标:尾下标:step]对列表中的值进行切割,截取对应的列表。从左到右的下标索引默认从0开始,从右到左的下标索引默认从-1开始。代码演示:ch03-demol-it-slicepy运行结果:mList列表中的第一个元素是否可以修改?列表更新所谓更新,是指对列表元素进行重新赋值、删除、添加等相关操作。代码演示:cho3-dem2-istupdate.py运行结果:列表的操作者已经理解了介绍字符串中+和*的作用,列表的用法与其类似,还有操作如len()和在。代码演示:ch03-demo03-list-operation.py运行结果:列表中的函数为了更好的操作列表对象,Python也提供了很多函数:①len(list):获取列表元素个数;②max(list):获取列表中的最大值;③min(list):获取列表中的最小值;④list(seq):将元组对象转换为列表对象。列表也提供了大量方法:①.append(obj):在列表末尾添加一个元素;②.count(obj):统计某个元素在列表中出现的次数;③.index(obj):从列表中找到一个值的第一个匹配的索引位置;④.insert(index,obj):在指定位置前面添加一个元素⑤.remove(obj):移除一个指定元素;⑥.reverse():反转列表中的元素;⑦.sort():对列表进行排序;List[]和list[:]的区别‘[]”标识是典型的引用操作和寻址操作。而“[:]”标识,是典型的赋值操作和值传递操作。示例代码:List_1=[1,2,3,4]List_2=list_1List_1=[1,2,3,4]List_2=list_1[:]2、元组(Tuple)类型元组(tuple)类似于列表(list),元组不能是两次赋值(元组中的元素不允许更新),相当于一个只读列表。元组用“()”标记,内部元素用逗号分隔。如何创建元组?语法:元组对象名=(元素1,元素2,...,元素N)元组的特点元组基本上类似于对列表的所有操作,唯一的区别是,元组的元素不允许被修改。示例代码:>>>tup1=tuple(range(5))>>>tup1(0,1,2,3,4)>>>tup2=(5,6,7,)>>>tup2(5,6、7)特别说明:>>>tup1=s(1)>>>type(tup1)>>>tup1=(1,)>>>tup13,字典(Dictionary)类型字典(dictionary)是一个列表otherthanpython中最灵活的内置数据结构类型。key:value字典中的元素是通过键访问的,而不是通过偏移量访问的。字典标有“{}”。字典由一个索引(键)及其对应的值组成,是典型的“k-v值”数据结构。如何创建字典?语法:字典对象名={}。字典对象名称={key1:value1,key2:value2,….,键N:值N}。字典(Dictionary)内存中的k-v值表示Python字典k-v结构-一般在操作访问时,使用键索引来读取每个元素。由于键索引key会被频繁访问,所以索引键key存放在Stack栈内存中,value值存放在Heap堆内存中。内存表示:字典的访问方式:语法:字典对象名[key]#访问key对应的值。Dictionaryobjectname.keys#访问当前字典的所有键索引键。Dictionaryobjectname.values#访问当前字典的所有valeus值。代码演示:ch03-demo04.py运行结果:如何修改字典?字典更新是指对字段元素进行重新赋值、删除、添加等相关操作。相关方法:update()#添加新元素或更新现有元素。pop()#删除指定元素。代码演示:cho3-demo05.py运行结果:4.集合集合是一组无序、不重复的元素。基本功能包括关系测试和消除重复元素。可以使用大括号({)创建集合。注意:要创建空集合,必须使用set)而不是{};后者创建一个空字典。集合创建obj1={1,2,3,4,5}obj2=({6,7,8,9})集合的关系运算Set(intersection,union,complement)s=set([3,5,9,10])#Create-asetofvaluest=set("Hello")#创建一组唯一字符a=t|s#t和s的并集,b=t&s#t和s的交集sC=t-S#求差集(项在t中,不在s中)d=t^s#对称差集(项在字段s中,不会同时出现在两者中)基本操作:t.add('x")#添加一个items.update([10,37,42])#在s中添加多个item