python数据容器篇----列表

本文介绍了Python中列表的基本操作,包括如何创建列表、通过索引显示和更改元素、使用切片操作以及删除元素的方法。还探讨了列表的内置函数如len(),max(),min()和转换函数list(),以及列表的方法如append(),copy(),sort(),reverse()等,帮助读者掌握列表的核心功能。
摘要由CSDN通过智能技术生成

在python中列表是一种有序,可更改的集合,允许重复的成员

1.创建列表

python中用[ ]定义列表。

>>> lx = [10, 10, 20, 20, 30, 30]
>>> lx
[10, 10, 20, 20, 30, 30]

这样就创建了一个列表,可以用来存放我们想要存放的数据与内容啦。

定义空列表,这个直接用变量名与[ ]即可。

>>> lx = []
>>> lx
[]

空列表吖,想当于创建了一个空箱子,接下来就可以向箱子里存东西了啦。

列表中的元素可以是数字,字符串,列表,元组,字典。

>>> lx = [10, "lxxz", [2004, 2005], (2004, 2005), {"lz":2004, "chh":2005}]
>>> lx
[10, 'lxxz', [2004, 2005], (2004, 2005), {'lz': 2004, 'chh': 2005}]
>>> 

列表是个啥都可以装的,来者不拒。

2.显示列表中的信息

2-1可以使用下标索引来显示

python的列表是有序的数据容器,可以使用索引来表示列表中的元素。

列表中第一个元素索引为0,第二个元素索引为1……,依此类推

相当于正着数列表

例如:lx列表中10的索引为0,20的索引是1……,

注意注意注意:列表元素的索引是从0开始的,且输入的索引若超出列表元素的索引范围会报错。

小心使用

>>> lx = [10, 20, 30]
>>> lx[0]
10
>>> lx[1]
20
>>> lx[2]
30
>>> lx[3]
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    lx[3]
IndexError: list index out of range

用负数表示索引,-1代表列表的倒数第一个元素,-2代表倒数第二个……,依此类推。

相当于倒着数列表。

>>> lx = [11, 22, 2004, 2005]
>>> lx[-1]
2005
>>> lx[-2]
2004

索引嘛,就是这个元素在列表中的编号,我们可以通过索引找到对应的元素,从而对其进行相应的操作。

2-2可以用中括号的形式对列表进行切片操作

语法: list[a:b:c]

参数a代表开始的索引位置,参数b代表结束的索引位置,参数c代表步长(相当于等差数列的差)

参数a,b,均可省略,省略参数a,代表从列表头开始,省略b代表到列表尾。

a,b都省略相当于从列表头到列表尾。

>>> lx = [1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[0:]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[:]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[::2]
[1, 3, 5, 7]
>>> lx[::3]
[1, 4, 7]

例如:lx[0:2]意义为将列表从第1个元素到第2个元素进行切片,切下这一部分的(注意对原始列表没有影响),就是告诉python我想要用这个列表的哪一个部分,我们给出索引为参数,开始到结束,python根据我们给出的索引进行切片,就像买肉,我们对着那一大块肉说切这块,切那块。

lx[0:-1]相当于告诉python我要切lx这个列表,从索引0的位置到缩引-1的位置,就这样。

>>> lx = [11, 22, 2004, 2005]
>>> lx[0:]
[11, 22, 2004, 2005]
>>> lx[0:1]
[11]
>>> lx[0:2]
[11, 22]
>>> lx[0:-1]
[11, 22, 2004]

对切片操作指定步长,lx[::2]相当于从列表头到列表尾,列表索引的公差为2,提取出一个索引的数列,python再根据该索引数列从列表中提取值lx[::2],索引首项为0,公差为2,索引的范围为0-7

固提取出来的索引为,0,2,4,6 对应的元素为1,3,5,7

>>> lx = [1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[0:]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[:]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> lx[::2]
[1, 3, 5, 7]
>>> lx[::3]
[1, 4, 7]

3.更改列表元素的值

用索引将该元素表示出来,用赋值操作符 = 更改即可。

>>> lx = [11, 22, 2004, 2005]
>>> lx[0] = 1122
>>> lx[1] = 3344
>>> lx
[1122, 3344, 2004, 2005]

4.删除列表中的信息

语法 :del 元素

这个元素可以是列表的元素,也可以是列表的切片,也可以是整个列表。

>>> lx = [11, 22, 2004, 2005]
>>> del lx[0]
>>> del lx[1]
>>> lx
[22, 2005]
>>> del lx
>>> lx
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    lx
NameError: name 'lx' is not defined


————————————————————————————————————————————————————————————
>>> lx = [11, 22, 2004, 2005]
>>> del lx[0:2]
>>> lx
[2004, 2005]

5.列表函数的应用

Lx = [1,4,6,7,8]

len()可以得到列表元素个数,例如想要得列表元素个数,可用len(Lx)

max()可以得到列表元素的最大值

min()可以得到列表元素的最小值

list()将其他的数据类型转化为列表

id()获取变量代表的对象的内存地址

>>> lx = [11, 22, 2004, 2005]
>>> len(lx)
4
>>> max(lx)
2005
>>> min(lx)
11
>>> id(lx)
2274912827336
>>> id(lx[0])
140737336275520
>>> id(lx[1])
140737336275872
>>> ch = "HELLO"
>>> list(ch)
['H', 'E', 'L', 'L', 'O']

6.列表方法的应用

list.append()在列表末尾加入元素,这个元素可以是python的任何数据类型。

list.copy()复制列表

list.clear()清空列表

list.sort()对原列表进行排序

list.reverse()反向列表中的元素

>>> lx = [11, 22, 2004, 2005]
>>> lx.append(1122)
>>> lx
[11, 22, 2004, 2005, 1122]
>>> ch = lx.copy()
>>> id(ch)
1986327565192
>>> id(lx)
1986324462024
>>> ch.clear()
>>> ch
[]
>>> lx.sort()
>>> lx
[11, 22, 1122, 2004, 2005]
>>> lx.reverse()
>>> lx
[2005, 2004, 1122, 22, 11]

list.remove()移除列表中的某一元素

list.pop()默认移除列表中的最后一个元素,若pop有参数,则移除该参数的索引处的列表元素。

>>> lx = [11, 22, 2004, 2005]
>>> lx.remove(11)
>>> lx
[22, 2004, 2005]
>>> lx.pop()
2005
>>> lx
[22, 2004]
>>> lx.pop(0)
22
>>> lx
[2004]

list.insert()将对象插入列表

>>> lx = [11, 22, 2004, 2005]
>>> lx.insert(0, 1122)
>>> lx
[1122, 11, 22, 2004, 2005]
>>> lx.insert(1, [100, 200])
>>> lx
[1122, [100, 200], 11, 22, 2004, 2005]

list.index()找出某个值第一个匹配项的索引值。

list.extend()在列表末尾一次性追加另一个列表中的多个值

list.count()统计某个元素在列表中出现的次数

>>> lx = [11, 22, 2004, 2005, 11, 22]
>>> lx.index(22)
1
>>> lx.index(11)
0
>>> ch = [18, 19]
>>> lx.extend(ch)
>>> lx
[11, 22, 2004, 2005, 11, 22, 18, 19]
>>> lx.count(11)
2
>>> lx.count(22)
2

以上内容是笔者对学习内容的一些总结,由于笔者水平有限,若有不妥之处在所难免,恳请各位批评指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值