数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合。在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'        #我只想要最后的com
print(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工作原理一样,都是将一个序列作为参数,转换为列表或者元组


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