5. 列表、元组和集合

本文详细介绍了Python中的序列类型,重点讨论了列表、元组和集合的特点与操作。列表作为可变序列,支持下标访问、切片、增删改查等多种操作;元组作为不可变序列,适用于需要固定不变的数据;集合则提供了无序且不重复的数据存储,可用于去重和集合运算。文章涵盖了这些类型的基本操作和高级用法,包括成员关系、长度计算、切片、转换、排序、统计等。
摘要由CSDN通过智能技术生成

5. 列表、元组和集合

1. 序列类型

计算机不仅对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行批量处理。一些例子包括:

  • 处理计算机中一组文件;
  • 统计一组问卷调查结果;
  • 给定一组工资基本信息,计算应纳个人所得税;
  • 给定一个学院学生信息,统计一下男女生比例;
  • 一次实验产生了很多组数据,对这些大量数据进行分析;

序列类型是组合数据类型的一类,能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。

序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。

由于元素之间存在顺序关系,所以序列中可以存在相同数值但位置不同的元素。序列类型支持成员关系操作符(in)、长度计算函数(len())、分片([]),元素本身也可以是序列类型。

Python中的主要序列类型:

  • str(字符串):由字符构成的序列;
  • list(列表):一个可以修改数据项的序列类型,使用也最灵活;
  • tuple(元组):包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除
    在这里插入图片描述
    序列类型有12个通用的操作符和函数:
操作符 描述
x in s 如果x是s的元素,返回True,否则返回False
x not in s 如果x不是s的元素,返回True,否则返回False
s + t 连接s和t
s * n 或 n * s 将序列s复制n次
s[i] 索引,返回序列的第i个元素
s[i: j] 分片,返回包含序列s第i到j个元素的子序列(不包含第j个元素)
s[i: j: k] 步骤分片,返回包含序列s第i到j个元素以k为步数的子序列
len(s) 序列s的元素个数(长度)
min(s) 序列s中的最小元素
max(s) 序列s中的最大元素
s.index(x[, i[, j]]) 序列s中从i开始到j位置中第一次出现元素x的位置
s.count(x) 序列s中出现x的总次数

2. 序列类型:列表

  • “列表”是一个值,它包含多个值构成的序列。
  • 术语“列表值”指的是列表本身(它作为一个值,可以保存在变量中,或传递给函数,像所有其他值一样),而不是指列表值之内的那些值。
    列表值看起来像这样:[‘西南财经大学’, ‘电子科技大学’, ‘四川大学’, ‘西南交通大学’]。就像字符串值用引号来标记字符串的起止一样,列表用左方括号开始,右方括号结束,即[ ]。列表中的值也称为“表项”。表项用逗号分隔(就是说,它们是“逗号分隔的”)。-
  • 列表的长度和内容都是可变的,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。
  • 由于列表属于序列类型,所以列表也支持成员关系操作符(in)、长度计算函数(len())、分片([])。
  • 列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(<、<=、==、!=、>=、>)进行比较,列表的比较实际上是单个数据项的逐个比较。

列表的操作

函数或方法 描述
ls[i] = x 替换列表ls第i数据项为x
ls[i: j] = lt 用列表lt替换列表ls中第 i 到 j 项数据(不含第 j 项,下同)
ls[i: j: k] = lt 用列表lt替换列表ls中第i到j以k为步的数据
del ls[i: j] 删除列表ls第i到j项数据,等价于ls[i: j]=[]
del ls[i: j: k] 删除列表ls第i到j以k为步的数据
ls += lt或ls.extend(lt) 将列表lt元素增加到列表ls中
ls *= n 更新列表ls,其元素重复n次
ls.append(x) 在列表ls最后增加一个元素x
ls.clear() 删除ls中所有元素
ls.copy() 生成一个新列表,复制ls中所有元素
ls.insert(i, x) 在列表ls第i位置增加元素x
ls.pop(i) 将列表ls中第i项元素取出并删除该元素
ls.remove(x) 将列表中出现的第一个元素x删除
ls.reverse(x) 列表ls中元素反转

2.1 用下标取得列表中的单个值

列表用中括号([])表示,通过下标取单个值,下标只能是整数,不能是浮点值。下标就是元素在列表中的偏移量。

LIST=["苹果","香蕉","梨子"]
LIST
LIST[1]
LIST[1][0]
['苹果', '香蕉', '梨子']
'香蕉'
'香'

如果使用的下标超出了列表中值的个数,Python 将给出IndexError 出错信息。

# 编号,姓名,基本工资,奖金,住房补助,五险一金,其他扣款,专项附加扣除
incomeList = [
    ['10932','张珊',15000.00 ,4000.00 ,2300.00 ,980.00 ,300.00 ,1000.00],
    ['10933','李思',12000.00 ,5000.00 ,2600.00 ,890.00 ,400.00 ,2000.00],
    ['10934','王武',10100.00 ,2000.00 ,2500.00 ,860.00 ,500.00 ,1500.00],
    ['10935','赵柳',10050.00 ,1000.00 ,2700.00 ,1080.00 ,300.00 ,2000.00],
    ['10936','钱棋',10200.00 ,2000.00 ,2400.00 ,1000.00 ,600.00 ,1000.00],
    ['10941','张明',13600.00 ,4000.00 ,2100.00 ,680.00 ,300.00 ,1000.00],
    ['10942','赵敏',13200.00 ,2500.00 ,2300.00 ,670.00 ,400.00 ,3000.00],
    ['10945','王红',13600.00 ,2600.00 ,2030.00 ,560.00 ,400.00 ,2000.00],
    ['10946','李萧',12500.00 ,2800.00 ,2400.00 ,420.00 ,500.00 ,1500.00],
    ['10947','孙科',12000.00 ,3500.00 ,2030.00 ,880.00 ,300.00 ,1000.00],
    ['10948','刘利',14200.00 ,2500.00 ,2020.00 ,900.00 ,400.00 ,2000.00]
]
[['10932', '张珊', 15000.0, 4000.0, 2300.0, 980.0, 300.0, 1000.0],
 ['10933', '李思', 12000.0, 5000.0, 2600.0, 890.0, 400.0, 2000.0],
 ['10934', '王武', 10100.0, 2000.0, 2500.0, 860.0, 500.0, 1500.0],
 ['10935', '赵柳', 10050.0, 1000.0, 2700.0, 1080.0, 300.0, 2000.0],
 ['10936', '钱棋', 10200.0, 2000.0, 2400.0, 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python编程语言中,有四种常用的集合数据类型,它们分别是列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。列表是一种有序和可更改的集合,允许重复的成员。元组是一种有序且不可更改的集合,也允许重复的成员。字典是一个无序、可变且有索引集合,其中没有重复的成员。而集合是一种无序和无索引集合,没有重复的成员。这四种集合数据类型在Python中都有着不同的特点和用途。 在Python中,列表元组和字符串都属于序列,它们的元素都可以通过编号进行访问。而字典则属于映射,其中的元素是以键值对的形式存在的。集合则不属于序列或映射中的任何一种,它是一种独立的数据类型,用于存储一组不重复的元素。 总结起来,Python中的列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是常用的集合数据类型,它们各自有着不同的特点和用途。列表是有序和可更改的集合元组是有序且不可更改的集合,字典是无序、可变且有索引集合集合是无序和无索引集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [浅谈python四种集合数据类型—【列表元组集合、字典】](https://blog.csdn.net/QWERTYzxw/article/details/121479048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python 元组集合与字典](https://download.csdn.net/download/weixin_38603219/13752298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值