基本信息
文件名称:深入剖析Python的列表和元组.docx
文件大小:18.65 KB
总页数:10 页
更新时间:2025-05-22
总字数:约5.44千字
文档摘要

深入剖析Python的列表和元组

目录1.定义2.区别3.索引4.嵌套数据类型强转1).嵌套2).数据类型强转5.常用内置函数1).count(item)2).index(item)3).list.reverse()4).list.sort()6.存储方式

1.定义

列表和元组,都是一个可以放置任意数据类型的有序集合。

在大多数编程语言中,集合内元素的数据类型必须保持一致,但在Python的列表与元组中,没有这个约束。

示例

列表List=[Tom,22,33,tony]

元组Tuple=(China,10)

如上列表与元组的示例,列表与元组集合内同时存放了int类型和string类型的元素

2.区别

列表是动态的,长度大小不固定,可以随意地新增、删除、修改集合内元素

input:

test_list=[Tom,22,33,tony]

test_tuple=(jack,10)

#test_list新增元素

test_list.append(100)

test_list.append(200)

print(test_list)

#test_list修改元素

test_list[0]=xiaomin

print(test_list)

#test_list删除元素

test_list.pop()

print(test_list)

output:

[Tom,22,33,tony,100,200]

[xiaomin,22,33,tony,100,200]

[xiaomin,22,33,tony,100]

从输入,输出可以证明列表支持集合内元素的新增、删除、修改

元组是静态的,长度大小固定,不可以新增、删除、修改集合内元素

input:

test_tuple=(jack,10)

#test_tuple修改元素

test_tuple[0]=xiaomin

print(test_tuple)

output:

Traceback(mostrecentcalllast):

Filetest001.py,line5,inmodule

test_tuple[0]=xiaomin

TypeError:tupleobjectdoesnotsupportitemassignment

从输入,输出可以证明元组不支持集合内元素的修改,新增和删除也不支持,大家可以自己动手实验下。

这也证明了Python中元组是静态不可变的。如果就想在原有元组集合中添加元素,有没有办法可以实现呢?

答案:有的,见如下示例

input:

test_tuple=(jack,10)

new_test_tuple=test_tuple+(20,xiaomin)

print(new_test_tuple)

output:

(jack,10,20,xiaomin)

虽然能实现想要的效果,但并不是真正意义上的原元组集合基础上元素的添加,而是创建了一个新的元组new_test_tuple来实现。

3.索引

Python中的列表和元组都支持正负数索引,正常索引区间,非正常索引区间取值。验证如下:

input:

test_list=[100,200,300,400,500]

#列表支持区间索引取值:取索引下标为1至倒数第2个元素之间的所有元素,规则:左闭右开

print(test_list[1:-1])

#列表支持单个正数索引取值:取正数第2个元素

print(test_list[2])

#列表支持单个负数索引取值:取倒数第2个元素

print(test_list[-2])

#列表支持非区间索引取值:从倒数第2个元素一直往前取所有

print(test_list[:-1])

print(**20)

test_tuple=(jack,10,20,tom)

#元组支持区间索引取值:取索引下标为1至倒数第2个元素之间的所有元素,规则:左闭右开

print(test_tuple[1:-1])

#元组支持单个正数索引取值:取正数第2个元素

print(test_tuple[2])

#元组支持单个负数索引取值:取倒数第2个元素

print(test_tuple[