python基础三(列表和元组),,数据结构:数据结构是


数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合。在python中,最基本的数据结构为序列,序列中每个元素都有编号从0开始。

1、序列概述:
?python内置了许多种序列,列表元组、字符串等。
?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形。

1.1、创建列表

假设你现在需要一个东西来储存多个名字,那么用列表正合适

list_name = ["王晓明","李二"]               #所有元素放在方括号内,并且里面的元素有逗号隔开

列表里面还可以包含其他列表
技术图片
1.2、通用的序列操作
有一些操作适用所有序列,这些操作包括索引切片相加相乘成员资格检查。还有一些内置函数用来判断序列长度以及找出最大值和最小值。

1.2.1、序列中的所有元素都有编号,从0开始递增,你可以像(下图)这样访问
技术图片
上图访问元素的这种方式称之为索引,这种方式适用于索引序列。-1代表最后一个元素的位置

1.2.2、切片
除了使用索引来访问单个元素之外,还可以用切片来访问特定范围内的元素
技术图片
注意:切片只会切到第二个数的前一位,所以这里只输出了.ba没有i这是正确的

假如我现在有一个列表里面有很多个元素,然后我想要最后3位,我该怎么办?或许你可以这样。。。

top = ‘www.baidu.com‘        #我只想要最后的comprint(top[-3:-1])                    #也许我可以这样>>>co                                 #代码输出(这样好像不包括最后一个元素)print(top[-3:0])                     #那在-1再进一步写成0呢>>>[]                                   #代码输出(是个空列表)注:如果第一个索引的位置位于第二个索引的后面那么就是空序列这里-3在0的后面print(top[-3:])                      #事实上可以这样写,不指定第二个元素结束于序列末尾#同样的,如果切片在一个序列开头,可以不指定第一个元素print(top[:5])                       #如果要复制整个序列,可将两个索引都省略top[:]                                   #代码输出www.baidu.com

1.2.3、步长
执行切片时还可以指定第三个数,整个数必须大于1(默认就是1),整个数代表着步长(如下图,每隔一个元素取一个)
技术图片

1.2.4、序列相加
加法运算符来拼接序列,但是要注意只能拼接同类型的。
技术图片

1.2.5、序列相乘
将序列与数n相乘时,将重复整个序列n次来生成一个新序列
技术图片
1.2.6、成员资格in
要检查一个值是否在序列中可以使用运算符in。满足条件返回True,不满足返回False(布尔运算符)。
技术图片

1.3、列表

前面已经说过列表的基本操作,这里主要说下列表的方法

1.3.1、list函数
list函数用于类型转换,可以把字符串或者元组转换为列表
技术图片
1.3.2、列表的基本操作

修改列表的值lis = [1,2,3]                   #定义一个列表lis[0] = 5                       #使用索引给指定的元素赋值即可print(lis)                        #命令回显[5,2,3]删除元素lis = [1,2,3]del lis[0]                       # 将第一个元素删除

1.3.3、 列表方法
append方法(将一个对象添加到列表末尾)
技术图片

clear方法(清空列表)
技术图片

copy方法(复制)
技术图片

count方法(计算给定的值在列表中出现的次数)
技术图片

extend方法(将多个值添加到列表末尾),那么是不是就是说可以将一个列表的值添加到另一个列表中呢?看下图
技术图片

insert方法(也是向列表中添加元素,只是可以指定位置)
技术图片

index方法( 返回一个指定数值的下标)
技术图片

pop(从列表末尾删除一个值)
技术图片

remove(删除一个指定的值)
技术图片

reverse(按照相反顺序排序列表)
技术图片

sort(排序)
方法sort用于对列表排序,但是是对原来的列表进行排序,而不是返回一个副本。
技术图片


提示:如果不想修改原有列表那么只能copy一份,不能直接接受sort的值,因为
它没有值


1.4、元组
与列表一样,元组也是序列,和列表不同的地方在于,元组无法修改。创建一个元组也很简单,只要将一些值用逗号隔开即可,自动创建元组。下图上创建b元组的时候带有(),这样也可以,一般也都这样做(推荐第二种)。
技术图片

1.4.1、如何创建一个空元组和只要一个值的元组
空元组用2个括号表示,一个元素的元组后面加一个逗号
技术图片

**1.4.2、tuple函数**tuple和list工作原理一样,都是将一个序列作为参数,转换为列表或者元组

技术图片


补充:访问元组的方式和列表一样,下标以及切片,元组无法修改,所以也不存在任何的修改方法()实际上要修改还是有办法的


python基础三(列表和元组)

评论关闭