python中的列表和元组的知识讲解。

列表和元组:

就是可以用一个变量来表示很多个数据。

列表和元组,大部分的功能都是差不多的,但是有一个功能是非常明显的区别:

列表是可变的,创建好了之后可以改。

元组是不可变的,创建好了之后,改不了,要想改,只能丢弃旧的,搞个新的。

列表的创建

1,直接使用字面量来创建。

a=[  ]

2,使用list()来创建

b=list()

3,可以在创建列表的时候,在[ ]中指定列表的初始值。

4,可以在同一个列表里放不同类型的变量

a=[1,'hello',True,[4,5,6]]

5,访问下标:

列表里面可以管理很多元素,通过下标访问的方式来获取到列表中的元素,用到一个下标访问运算符吗[ ],中间写的这个整数,简称“下标”或者“索引”。

(下标从0开始计数)

6,使用下标来修改元素

7,超出下标有效范围,就会出现异常

由于下标是从10开始的,对于列表来说,下标的有效范围,从0到长度-1

当我们下标超出有效范围的时候,尝试访问,就会出现异常。

8,可以使用内建函数len来获取列表的长度(元素个数),和字符串类似(len可以传字符串,列表,元组,字典,自定义的类==》动态类型)

9,python中的下标,其实还可以写成负数。

例如写成-1,其实等价于len(a)-1

切片操作:

通过下标操作是一次取出里面的第一个元素。

通过切片,则是一次取出一组连续的元素,相当于得到一个子列表。

切片操作的基本使用:

取掉下标为一,一直到下标为3的元素。

包含一,不包含三[1,3)

1,使用切片的时候,省略边界。

省略后边界,意思是从开始位置,一直取到整个列表结束。

省略前边界,意思是从列表的0元素开始取,一直取到结束的后边界。

切片的下标,也可以写成负数,也就是长度减一。

还可以把边界和结束边界,都省略掉,得到的还是列表自身。

切片操作是一个比较高效的操作,进行切片的时候,只是取出了原有列表的一个部分,并不涉及到“数据的拷贝”,假设有一个很大的列表,进行切片,切片的范围也很大,即使如此,切片的操作仍然非常高效。

切片操作,还可以指定”步长“,range

1就是步长。步长也可以是负数,当步长为负数的时候,意思就是从后往前来取元素。

当切片中范围超出有效下标之后,不会出现异常,而是尽可能把符合要求的元素给获取到。超出则全部打印。

遍历列表元素:

遍历:把一个列表里面的每个元素,都依次的取出来,并进行某种操作。

elem:代表了列表的每个元素。(元素),不可以修改值。

2,使用for循环遍历,通过下标的方式。

可以修改值。

3, 使用while循环,通过下标遍历。

新增元素:

1,使用append往列表最后新增,

此时的append是搭配列表对象a,来一起使用的,而不是作为一个独立的函数。

type,print,input,len,自定义函数都是独立的函数。

这种要搭配对象来使用的函数(function),也叫做“方法”(method)

在python中,对象,就可以视为是“变量”。

2,还可以使用insert方法,往列表的任意位置来新增元素。

如果超出最大范围,则之间补充到最后面。

查找元素:

1,使用in来判定某个元素是否在列表中存在。(需要每个元素遍历一遍)

在则返回true,不在则返回false

也可以取反,使用not。

2,使用index方法,来判定,当前元素在列表中的位置,得到了一个下标。

如果1在列表中,则返回元素下标。

如果不在,则直接报错。

3,删除元素

1,使用pop删除列表中的最末尾元素。

2,pop也可以删除任意位置元素。

pop的参数可以传一个下标过去。

3,使用romove方法,可以按照值来进行删除。

列表的拼接:

直接拼接

2,使用extend来进行拼接,这个拼接是把后一个列表的内容拼接到前一个列表里面。

b将列表的内容拼接到a里面了。

如果用一个变量接收a的值,则会返回None(这是一个特殊的变量的值,表示“啥都没有”)

extend方法,其实是没有返回值的,拿一个变量来接受一个没有返回值。

3,还可以使用+=来进行拼接。

使用了数据拷贝。

相对于extend多了三步操作

1,多了构造新的大列表的操作。

2,多了把大的列表的值赋给a里面。

3,多了把a的旧值释放的操作。

元组的操作:

#1,创建元组
a=()
b=tuple()
print(type(a))
print(type(b))
#2,创建元素的时候,指定初始值。
a=(1,2,3,4)
print(a)
#3,元组中的元素也可以是任意类型的
a=(1,'hello',[],True)
print(a)
#4,通过下标来访问元组来访问元组的元素,下标也是从0开始,到len-1结束。
a=(1,2,3,4)
print(a[1])
#如果为负数,则取倒数的,若超出则报错。
print(a[-1])
#通过切片来获取元组中的一个部分。
print(a[1:3])
#6,也同样可以使用for循环等方式来进行遍历数组元素。
a=(1,2,3,4)
for elem in a:
    print(elem)
#7,可以使用in来判定元素是否存在,使用index查找元素的下标。
a=(1,2,3,4)
print(3 in a)
print(a.index(1))
#8,可以使用+来拼接两个元组。
a=(1,2,3)
b=(4,5,6)
print(a+b)

元组只进行“读”,操作,不能支持“修改”类操作。

当进行多元赋值的时候,其实本质上是按照元组的方式来进行工作的。

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值