python的list和tuple
2022/7/1 14:22:05
本文主要是介绍python的list和tuple,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# from django.test import TestCase # 列表和元组 # list是一种有序的集合,可以随时添加和删除其中的元素. # 1,创建一个普通列表 List = ['Jack','Bob','Lucy','Rose'] # Append() 末尾追加元素 # conunt()列表中某个元素的数量 # extend()可以在列表尾部追加包含多个值的另一个序列,而list的append()只能添加一个值.可以说list的extend方法是有扩展列表的作用: list1 = [1,2,3] list2 = [7,8,9] list1.extend(list2) print(list1) # [1, 2, 3, 7, 8, 9] # index() 获取列表中某个元素的索引值,list的索引值从0开始,同样可以用索引找到元素 list[index],当索引超出了范围时 # ,Python会报一个IndexError错误,(索引错误)所以,要确保索引不要越界,有的同学说了 那元素多了,又不知道列表中有多少个元素, # 我想取最后一个怎么办呢 第一种办法,先获取这个列表的长度,例如:len(list2) 第二个办法:list2[-1] # insert()在某个索引位置添加某个元素 # pop()删除元素 传递的是待删除元素的index # remove()传递待删除元素,如果多个元素一样,默认删除第一个 x = ['a', 'b', 'a', 'c', 'd'] x.remove('a') print (x) # ['b', 'a', 'c', 'd'] # reverse() 是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理. # 如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序 # sort() 许多python初学者,对sort()方法比较糊涂.有的时候会需要一个排序好的列表,而又想保存原有未排序列表,他们会这么操作: a = [5,7,6,3,4,1,2] b = a.sort() print( b) # None # 这个时候问题出现了,变量b得到的是一个空值.那么想要得到排序好的列表,又想保留原列表怎么办呢?列表sorted()方法可以帮你实现. # sorted()即可以保留原列表,又能得到已经排序好的列表sorted()操作方法如下: a = [5,7,6,3,4,1,2] b = sorted(a) print('sorted(a)',a) # [5, 7, 6, 3, 4, 1, 2] print('b = sorted(a)',b) # [1, 2, 3, 4, 5, 6, 7] # Tuple 另一种有序列表叫元组: tuple和list非常类似,但是tuple一旦初始化就不能修改,例如: # tuple =[1,2,3,4] # tuple.append(5) # Traceback (most recent call last): # File "<pyshell#59>", line 1, in <module> # tuple.append(5) # AttributeError: 'tuple' object has no attribute 'append' # 现在,这个tuple不能变了,它也没有append(),insert()这样的方法.其他获取元素的方法和list是一样的, # 你可以正常地使用classmates[0],classmates[-1] # 不可变的tuple有什么意义?因为tuple不可变,所以代码更安全.如果可能,能用tuple代替list就尽量用tuple. # tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如: # 如果要定义一个空的tuple,可以写成(): # 但是,要定义一个只有1个元素的tuple,如果你这么定义: # 定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定, # 这种情况下,按小括号进行计算,计算结果自然是1. # 所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义: # Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号. # '可变的'tuple: # >>> tuple = (1,2,3,[4,5,6]) # >>> tuple # (1, 2, 3, [4, 5, 6]) # >>> tuple[3][0]=1 # >>> tuple # (1, 2, 3, [1, 5, 6]) # >>> tuple[3][1]=2 # >>> tuple[3][2]=3 # >>> tuple # (1, 2, 3, [1, 2, 3]) # 表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素.tuple一开始指向的list并没有改成别的list, # 所以,tuple所谓的"不变"是说,tuple的每个元素,指向永远不变.即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象, # 但指向的这个list本身是可变的!# 理解了"指向不变"后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变.
这篇关于python的list和tuple的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门