文章目录
- 前言
- 一、列表和元组的区别
- 二、列表和元组定义(转换)。
- 三、列表和元组的访问符号和方法:[]和index(x)、count(x)
- 四、列表和元组的操作函数(外部函数)
- 总结
前言
列表list、元组tuple都是python的数据集合类型。
简单的区别:列表装载一组数据是变量;元组装载一组数据是常量。
一、列表和元组的区别
列表中存放数据可以修改,元组实际上是一种受限的列表,即存放的数据仅用作读取而不能修改。为了显性区别避免编程误操作,我们会把不需要修改仅做读作用的一组数据定义为元组类型。
举例:
四大名著list1=[‘西游记’,‘红楼梦’,‘三国演义’,‘水浒传’]。如果我们本意不需要修改,list1存放仅作读取的数据,但是我们却定义为可以修改list类型,在编码过程有可能有误操作,例如进行了一个list1.pop(),这显然是很糟糕事情,而且程序也不会报错。
为了防止这种情况,我们规定(‘西游记’,‘红楼梦’,‘三国演义’,‘水浒传’)定义一种不能修改其中元素的序列叫元组,这样就避免误操作,程序也会报错。
数据类型 | tuple |
基本定义 | 有序不可以变的序列 |
程序定义 | tuple1=(‘beijing’,‘shanghai’) |
访问元素 | a=tuple1[0];而不是tuple1(0)。元组和列表都是使用取值符号[] |
list()转换为列表 | tuple2=List(tupl1) |
数据类型 | list |
基本定义 | 有序可变的序列 |
程序定义 | list1=[‘beijing’,‘shanghai’] |
访问元素 | a=list1[0] 元组和列表都是使用取值符号[] |
tuple()转换为列表 | list2=tuple(list1) |
二、列表和元组定义(转换)。
列表list属于有序可变的数据类型,使用方括号[]作为定义符号。
元组tuple属于有序不可变的类型,使用中括号()作为定义符号。
#定义列表
l1=['beijing','shanghai'] #直接通过符号括起来定义
print(l1) # ['beijing', 'shanghai']
#定义元组
t1=('beijing','shanghai') #直接通过符号括起来定义
print(t1) # ('beijing', 'shanghai')
#使用列表的内部函数list()定义一个列表。
#比如:使用元组生成列表
l1=list(('beijing','shanghai'))
print(l1) # ['beijing', 'shanghai')
#使用列表的内部函数tuple()定义一个元组。
#比如:使用列表生成元组
t1=tuple(['beijing','shanghai'])
print(t1) # ('beijing', 'shanghai')
三、列表和元组的访问符号和方法:[]和index(x)、count(x)
[]取值
index()按值查找索引号
count()按值统计相同的个数
# 访问元素,列表和元组一样用[],而不是元组使用l1(1)。
l1=['beijing','shanghai']
t1=('beijing','shanghai')
print(l1[1]) # shanghai
print(t1[1]) # shanghai
# index(x)找出第一个x,返回其索引号
t1=(1,2,3,2)#使用元组来举例,列表也是一样
print(t1.index(2)) # 1
# count(x)统计x的出现次数
print(t1.count(2)) # 2
四、列表和元组的操作函数(外部函数)
del sum max min len(list tuple set都适用)
t1=(1,2,3,2)
print(sum(t1)) # 8
print(max(t1)) # 3
print(min(t1)) # 1
print(len(t1)) # 4
del tuple6
总结
元组就是受限的列表。
两者区别在于:
1、列表是可变,元组是不可变。
2、不会变化,不需要变化,不能变化,不想被误操作的一组数据使用元组来定义。
注意
1、使用定义符合不一样,tuple 是使用(),list使用[]。
2、元组不能通过t[index]=x修改数值,也不能使用append。
3、如果把列表当作元组的元素时候,列表的内容可以变化,就是说元组定义是元素不可以变,但是元素是一个列表一个变量,他就管不了。