Python数据结构详解:列表与元组的创建、操作及方法

追风的人
追风的人
发布时间:2026-10-13 | 2人浏览过
原创

本文深入解析Python中的核心数据结构列表与元组。详细阐述序列的概念、可变性区别,以及列表的声明、切片、索引、加减乘除等基础操作。重点介绍len、min、max等内置函数,以及append、sort、pop等常用列表方法。同时讲解元组的不可变特性、创建方式及其与列表的转换,帮助开发者掌握高效的数据处理技巧。

Python数据结构详解:列表与元组

序列是一类包含有序元素的数据结构,其元素均从0开始进行编号。常见的序列类型包括列表、字符串和元组。其中,列表属于可变序列,支持修改操作;而元组和字符串则属于不可变序列,一旦创建便无法更改。Python内置了6种序列类型,分别是列表、元组、字符串、Unicode字符串、buffer对象以及xrange对象。

列表的声明方式

mylist = []

列表的基本操作

(1) 序列的分片:
 用法:mylist[startIndex:endIndex:step]
 exam: 
  mylist[2:10] 检索第2个字符到第10个字符,默认步长为1.
  mylist[2:10:2] 检索第2个字符到第10个字符,指定步长为2.
  mylist[-2:-1:2] 正数索引是相对于首部的坐标,负数是相对于尾部的坐标。其实坐标一定要小于终止坐标,否则返回空的分片。
  mylist[-12:-2:-2] 步长也可以是负数,表示从右向左提取元素。

(2) 序列的索引:
 用法:mylist[index]
 exam:
  mylist[2] mylist[-2]
  ps:正数是相对于首部的坐标,负数是相对于尾部的坐标。

(3) 序列相加:
 用法: mylist1 + mylist2  <==>  [1,2] + [3,4]


(4) 序列乘法:
 用法: mylist * 5  mylist元素重复5次。

(5) in操作符:
 用法: ‘item' in mylist 判断mylist是否包含某一成员。

列表相关的内置函数:len、min和max函数在处理列表时非常实用。

(1) len函数返回序列中所包含元素的数量。
(2) min函数和max函数分别返回学列中最大和最小元素。
(3) list函数可以把字符串转换成列表。
  exam: list('hello') => ['H','e','l','l','o']
(4) cmp函数用来比较2个元素的大小 
  exam: cmp(x,y) => 返回0表示相等, -1 则是 x < y 1 则是 x > y
(5) reversed函数对序列进行反向迭代。
(6) sorted 返回已排序的包含seq所有元素的列表。


列表的常用方法

(1)append: append方法在列表末尾追加新的对象。
  exam:lst=[1,2,3] lst.append(4) => [1,2,3,4]
(2)count: count方法统计某个元素在列表中出现的次数。
  exam: x=[[1,2],1,1,[2,1,[1,2]]] x.count(1) => 1
(3)extend: extend方法可以在列表的末尾一次性追加另外一个序列的多个值。即:可以用新列表扩展原有列表。
  exam: a=[1,2,3] b=[4,5,6] a.extend(b) => [1,2,3,4,5,6]
(4)index: index方法用于从列表中找出某个值第一个匹配项的索引位置。
  exam:lst=['we','le','at'] lst.index('le') => 1
(5)insert:insert方法用于将对象插入到列表中:
  exam:lst=[1,2,3,4,5,6] lst.insert(3,8) => [1,2,3,8,4,5,6]
(6)pop: pop方法移除列表中的一个元素(默认是最后一个),并且返回该元素。
(7)remove: remove方法移除列表中某个值的第一个匹配项:
  exam: x=['to','be','or'] x.remove('to') => 你懂得。
(8)reverse 方法将列表中的元素反序。
(9)sort 方法用于在原位置对列表进行排序。 
  exam: sort方法有默认的排序方法,另外还具有高级排序的用法,sort方法有两个可选的参数,key 和 reverse,key指定排序的关键字参数,指定后排序会按key的大小来排序,reverse用于指定是否反序。
    x.sort(key=len) => 表示按照字符串的长度排序。
    x.sort(reverse=True) => 表示反序排序。
    x.sort(cmp) => 指定排序函数,你懂的。

元组概述:元组与列表类似,同属序列类型。两者的主要区别在于元组是不可变的,即创建后无法修改其内容。

(1) 声明方式:
  用逗号分隔一些值,就自动创建了元组。 exam: 1,2,3 => (1,2,3)
  也可以通过园括号声明。 exam: (1,2,3) => (1,2,3)

(2) 元组的乘法:
  3*(40+2) => (42,42,42)

元组相关的内置函数

(1)tuple函数的功能和list函数的基本上是一样的:以一个序列作为参数并把它转换为元组。
  exam: tuple([1,2,3]) => tuple(1,2,3)

元组的切片操作

exam: x=1,2,3 x[1] => 2 x[0:2] => (1,2)

如有疑问请留言或至社区交流,感谢阅读,希望能对大家有所帮助,感谢支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表