Python 入门基础知识(章二 列表和元组)

1. Python数据结构

对数据进行 增、减、改、查都是建立在数据结构上的, python的数据结构有四种,分别是:列表、字典、元组、集合,这四种代表四种储存数据的方式。

2.序列概述

Python常用的两种:列表和元组。

其主要区别为列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。列表是可以嵌套的。

元组和列表十分相似,不过元组是不可变的。即你不能修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。元组可以嵌套。

3. 对序列进行操作

3.1 索引

序列中所有元素都有编号—————从0开始

Python 入门基础知识(章二 列表和元组)

字符串就是由字符组成的序列,Python中没有表示字符的类型,所以一个字符就是只包含一个元素的字符串。

上述方式为从左往右索引,如果是负索引,那么将会从最后一个元素开始往左数,因此-1是最后元素的位置。

Python 入门基础知识(章二 列表和元组)

对于字符串字面量,可直接对其执行索引操作,无需赋值给变量。效果和先赋值给变量再索引效果是一样的。

Python 入门基础知识(章二 列表和元组)

3.2 切片

除了索引访问单个元素外,还可以使用切片来访问特定范围内的元素,用两个索引中间用冒号分开。

Python 入门基础知识(章二 列表和元组)

Python 入门基础知识(章二 列表和元组)

注意:第一个索引指定的元素包含在切片内,第二个索引指定的元素不在切片内


从最后元素往前索引要使用负索引

Python 入门基础知识(章二 列表和元组)


这就出现了无法包含最后一个元素,如果按0索引

Python 入门基础知识(章二 列表和元组)

当切片进行操作时,如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就是空序列(此处为倒数第3个元素位于第1个元素的后面)


如果切片结束于序列的末尾,可忽略第二个索引。

Python 入门基础知识(章二 列表和元组)


同样,索引的序列位于开头

Python 入门基础知识(章二 列表和元组)


在切片中如果没有步长,默认长度为1,如果指定步长则将跳过中间的某一些元素。

Python 入门基础知识(章二 列表和元组)


同样步长不可以为0,否分无法移动,但可以为负数,即从右往左提取元素。

Python 入门基础知识(章二 列表和元组)

需注意的是:步长为负数时,第一个索引必须比第二个大


4. 1 列表

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

>>>list('hello')

> ['h','e','l','l','o']

4.2 对列表基本操作

4.2.1 修改列表:给元素赋值

>>>x = [ 1 , 2 , 3 ]

> x [ 1 ] = 2

> x = [ 2 , 2 , 3 ]

注意:不能给不存在的元素赋值,例如长度为3,不能给100的元素赋值

4.2.2 删除元素

从列表中删除元素,可以用del语句

>>> numeber = [ 0 , 1 , 2 , 3 ]

> del number[ 2 ]

> number [ 0 , 1 , 3 ]

4.2.3 给切片赋值

>>> name = list('Perl')

>>> name

[ 'P' , 'e' , 'r' , 'l' ]

>>> name[2:] = list('ar')

>>> name

[ 'P', 'e' , 'a' , 'r' ]


切片赋值还可以在不替换原有的元素的情况下插入新元素

>>> number = [ 1 , 5]

>>> number[1:1] =[2 , 3 , 4]

>>> number

> [1, 2, 3, 4, 5]

这里[1:1]相当于替换了一个空切片,相当于插入一个序列。同样也可以删除切片。


>>> number

[1, 2, 3, 4, 5]

>>> number = [1:4] = []

>>> number

> [1, 5]


4.2.4 列表方法

①. append

将一个对象加到列表的末尾。

>>> lst = [1, 2, 3]

>>> lst.append(4)

>>> lst

> [1, 2, 3, 4]


②.clear

clear就地清空列表内容

>>> lst = [1, 2, 3]

>>> lst.clear()

>>> lst

> []


③.copy

copy复制列表,常规的复制只是将另一个名称关联到列表。

>>> a = [1, 2, 3]

>>> b = a

>>> b[1] = 4

>>> a

> [1, 4, 3]

or

>>> a = [1, 2, 3]

>>> b = a.copy()

>>> b[1] = 4

>>> a

> [1, 4, 3]


④. extend

将多个值添加到列表末尾

>>> a = [1, 2, 3]

>>> b = [4, 5, 6]

>>> a+b

> [1, 2, 3, 4, 5, 6]

>>> a

>[1, 2, 3]


⑤. insert

将一个对象插入列表。

>> number = [1, 2, 3, 4, 5, 6, 7]

>>> number.insert(3, 'four')

>>> number

>[1, 2, 3, 'four', 5, 6, 7]


⑥.sort

用于对列表就地排序,意味着对原来的列表进行修改,使其按顺序排列,而不是返回排序后的列表副本。

>>> x = [3, 2, 1, 4]

>>> x.sort

>>> x

> [1, 2, 3, 4]


5. 细说元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

>>> tup1 = (1, 2, 3, 4, 5 );

>>> tup2 = "a", "b", "c", "d"; # 不需要括号也可以


元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用

Python 入门基础知识(章二 列表和元组)


tuple:它将一个序列作为参数,并将其转化成元组。如果参数已经是元组,就原封不动地返回它。

>>> tuple ([1, 2, 3])

> (1, 2, 3)

>>> tuple ('abc')

> ('a' ,'b', 'c')

>>> tuple((123))

> (1, 2, 3)


访问元组

Python 入门基础知识(章二 列表和元组)


删除和修改元组

Python 入门基础知识(章二 列表和元组)

对元组来说没有太多的操作,只提供最基本的创建和访问。


分享到:


相關文章: