Python基础知识(三)--列表和元组

目录

一、序列

 1.序列的基本操作

 二、列表

 三、元组


数据结构:通过某种方式组织在一起的数据元素集合,这些数据结构可以是任何数据类型。最基本的数据结构是序列。

一、序列

序列的每个元素都被分配一个编号,这个编号成为索引,序列中第一个元素的索引为0。列表和元组都是序列。

(1).一个序列,可以包含不同类型的值。

(2).序列中的元素可以是另外一个序列,相当于二维数组或多位数组。

 1.序列的基本操作

(1)通过索引操作序列元素。如:names[0]

  • 索引是0或者整数时,从序列左侧第一个元素开始取值;索引是负数时,从右侧第一个元素(索引为-1)开始取值。
  • 当索引值超出序列的索引范围时,会抛出异常。

(2) 切片:从一个序列中获取一个子序列:序列名(起始索引:结束索引:步长)

  • 切片操作需要指定两个索引,两个索引间用(:)分隔,第二个索引值为序列子序列最后一个元素的索引加1(即不包含),字符串的切片操作相当于截取字符串。
  • 如果两个索引中有一个是序列的起止索引,可以省略该索引。
  • 默认步长为1,可以设置步长获取特定子序列,步长的正负控制切片取值方向。
  • 从左向右取,第一个索引必须小于第二个索引;从右向左取,第一个索引必须大于第二个索引。否则会返回空序列。

(3)序列的相加,即将序列连接成一个新的序列,必须是同一种序列,如列表只能与列表相加。

(4)序列的乘法:序列乘以一个数字n会生成一个新的序列,新序列中原来的序列将被重复n次。

(5)检查某个值是否属于一个序列:in、not in

(6)序列的长度、最大值和最小值

  • len函数返回序列中元素的个数
  • max函数返回序列中值最大的元素
  • min函数返回序列中值最小的元素
  • max和min函数的参数不仅可以是一个序列,还可以是可变参数。

注意:使用max和min函数时,序列中每个元素值必须是可比较的。如:

print(max("abc", "a","ab"))#输出:abc
print(max(["abc", 1]))#不可直接比较,抛出异常

 

 二、列表

列表可以使用所有序列的一般操作,也有自己的特殊操作。

1.列表元素赋值,通过列表中的索引,使用(=)进行赋值。如:a[0]="Li"

2.删除列表元素:del语句。如:del a[0]

3.切片赋值:用另一个列表修改原来列表的子列表,赋值时被替换的子列表和新子列表可以不等长。可以利用这一特性在列表中插入或者删除一些元素。

#输出:['Bill', 2, 3, 4, 5, 'Mike', 'Mary', 'Kitty', 'Jack']
arr=["Bill","Mike","Mary","Kitty","Jack"]
arr[1:1]=[2,3,4,5]
print(arr)
#输出:['Bill', 5, 'Mike', 'Mary', 'Kitty', 'Jack']
arr[1:4]=[]
print(arr)

4.列表方法

列表提供了一些用于检查和修改列表中内容的方法。如下:

  • append:在列表最后添加元素
  • clear:用于清除列表的内容
  • copy:复制列表
  • count:统计某个元素在列表中出现的次数
  • extend:用于在列表结尾插入另一个列表。类似于列表相加,但extend方法改变的是被扩展的列表,而列表相加产生了一个新的列表
  • index:从列表中找出某个值第一次出现的索引位置。
  • insert:将值插入到列表的指定位置
  • pop:移除列表中的元素(默认最后一个),并返回该元素的值。
  • remove:移除列表中某个值第一次的匹配项。
  • reverse:列表元素反转
  • sort:对列表排序。会改变原来的列表。待排序的列表元素必须是可比较的。
#第一个Kitty元素被删除,输出:['Bill','Mike', 'Mary', 'Jack', 'Kitty']
arr=["Bill","Mike","Mary","Kitty","Jack","Kitty"]
arr.remove("Kitty")
print(arr)

 

 三、元组

1.元组是只读的,不能修改。

2.定义元组:用逗号(,)分隔一些值。也可以将元组用小括号括起来。

3.创建只有一个元素的元组:该元素后加逗号。

4.创建空元组:()

5.可以使用tuple()函数可以将序列转换为元组。

6.为什么要使用元组?

(1)元组可以在映射中作为键值使用,而列表不能。

(2)很多内建函数和方法的返回值就是元组。如果要使用这些返回值,就必须使用元组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值