Python列表是个好东西,新手小白一定要搞明白

带你走进 @ 机器人时代

Discover 点击上面蓝色文字关注我们


Python列表
(list)就像一个百宝箱,基本上啥都可以装进去。整数、小数、字符串、列表、元组等任何类型的数据都可以装进去,那都不是事。

创建一个列表很简单,‘p=[]’或list()命令就可以,创建的时候也可以直接赋值,如:

p=[1,2.5,'studen',[1,2,3],{3,8,9},(8,9),{1:'zs',2:'ls'}]

这里面的元素有整数、浮点数、字符串、列表、元组、字典、集合,简直就是一个百宝箱,功能不要太强大哦。

既然创建了列表,我们要如何访问呢?看代码:

p=[1,2.5,'studen',[1,2,3],{4,7},(8,9),{1:'zs',2:'ls'}]
print('访问列表p中的第2个元素:',p[1])
print('访问列表p中的第2个到第5个元素:',p[2:5])
print('访问列表p中的第2个到第7个元素中每隔3个元素的值:',p[2:7:3])

输出结果:
访问列表p中的第2个元素:2.5
访问列表p中的第2个到第5个元素:['studen', [1, 2, 3], {4, 7}]
访问列表p中的第2个到第7个元素中每隔3个元素的值:['studen', (8, 9)]


那么,如果要删除列表,用del关键字就可以:

p=[1,2.5,'studen',[1,2,3],{4,7},(8,9),{1:'zs',2:'ls'}]
del p
print(p)

输出结果:
Traceback (most recent call last):
  File "F:Python程序列表.py", line 3, in 
    print(p)
NameError: name 'p' is not defined


列表不存在,当然报错了!

那么,我们如何向列表添加元素呢?有三种方法,我们通过代码来理解:

#添加列表元素
p=[]
p=p+['s']+[6,8]
print(p)
p.append(9)
p.append([3,'yy'])
print('用append方法添加',p)
p.extend('0')
p.extend(['中国','这个'])
print('用extend方法添加',p)
#注意,extend方法会把添加的序列拆开再添加
p.insert(1,'B')
print('用insert插入指定位置的方法添加',p)

输出结果:
['s', 6, 8]
用append方法添加 ['s', 6, 8, 9, [3, 'yy']]
用extend方法添加 ['s', 6, 8, 9, [3, 'yy'], '0', '中国', '这个']
用insert插入指定位置的方法添加 ['s', 'B', 6, 8, 9, [3, 'yy'], '0', '中国', '这个']


如果我们又想删除列表中的元素,怎么操作呢?还是用代码来演示:

#删除列表元素
p=['a1','a2','a3','a4','a5','a6','a7','a8','a9','a10']
del p[1]
print('用del方法删除列表p中的第2个元素:',p)
p.pop(3)
print('用pop方法删除列表p中的第4个元素:',p)
p.remove('a8')
print('用remove方法删除列表p中指定的元素a8:',p)
p.clear()
print('用clear方法删除列表p中所有的元素a8:',p)

输出结果:
用del方法删除列表p中的第2个元素:['a1', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'a10']
用pop方法删除列表p中的第4个元素:['a1', 'a3', 'a4', 'a6', 'a7', 'a8', 'a9', 'a10']
用remove方法删除列表p中指定的元素a8:['a1', 'a3', 'a4', 'a6', 'a7', 'a9', 'a10']
用clear方法删除列表p中所有的元素a8:[]


有增删,自然就有修改,我们来看看修改列表元素的方法:

#修改列表元素
p=['a1','a2','a3']
p[1]='b1'
print(p)
#使用切片的方法修改
p[2:]=['a5','a6','a7']
print(p)
p[4:]='ABC'
print(p)
p[4:4]=[2,3,4]
#使用空切片的方法修改相当于插入添加新的元素
print(p)

运行结果:
['a1', 'b1', 'a3']
['a1', 'b1', 'a5', 'a6', 'a7']
['a1', 'b1', 'a5', 'a6', 'A', 'B', 'C']
['a1', 'b1', 'a5', 'a6', 2, 3, 4, 'A', 'B', 'C']


如果需要查询元素,就用index(索引)的方法:

#查询元素的方法
p=['a1','a2','a3','a4','a5','a6','a7','a8','a9','a10']
#从列表p中从第1个元素到第5个元素中找到a5这个元素
c=p.index('a5',0,5)
print(c,'>>>',p[c])
s=p.index('a8')
print(s,'>>>',p[s])

运行结果:
4 >>> a5
7 >>> a8


也可以使用count()的方法对列表中的元素进行统计:

#统计元素的方法
p = ['a1', 'a2', 'a3', 'a4', 'a2', 'a6', 'a1', 'a2', 'a1', 'a10']
print('a2这个元素在列表p中出现的次数:',p.count('a2'),'次')
print('a9这个元素在列表p中出现的次数:',p.count('a9'),'次')

运行结果:
a2这个元素在列表p中出现的次数:3 次
a9这个元素在列表p中出现的次数:0 次


在Python的列表应用中,我们可以使用range()函数来快速构建列表:

#快速构建列表
p=range(0,10)
print(p,'这是一个',type(p),'类型')
print('转换成为列表: ',list(p))
s=range(0,10,2)
print('转换成为列表,步长为2: ',list(s))
#如果想生成1-9的立方数列表:
m=[]
for i in range(1,9):
    t=i**3
    m.append(t)
print(m)

运行结果:
range(0, 10) 这是一个  类型
转换成为列表:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
转换成为列表,步长为2:  [0, 2, 4, 6, 8]
[1, 8, 27, 64, 125, 216, 343, 512]


在编程中,我们常常听说栈和队列,Python的列表页可以实现栈和队列的功能。

什么是栈?什么是队列呢?

打个比方,手枪的弹夹大家都知道吧?最后压进去的子弹却是最先打出去的那一发,这就是栈的功能,遵循‘先进后出’的原则。在Python中我们用append()的方法存入数据,用pop()的方法来取数据,这就实现了栈的功能;

那么队列的功能呢?也就是排队,遵循‘先进先出’的原则。例如打印机打印的速度远远跟不上计算机运行速度,这个时候我们就需要打印指令排队。在Python里可以使用insert()的方法,并指定第一个参数为0,用pop()的方法将列表最后一个元素弹出来,这就实现了队列的功能。

但是,这样的方法效率不高,因为每操作一次,列表中的元素都要移动位置。如果数据量比较大,会影响程序的运行效率。

我们可以使用collections模块来实现:

#列表的栈和队列功能的实现
import collections
q = collections.deque()
q.append(9)
q.append(8)
q.append("OK")
print(list(q))
#实现队列功能,从队列中取一个元素,根据先进先出原则,这里应输出 1
print(q.popleft())
#实现栈功能,从栈里取一个元素,根据后进先出原则,这里应输出 hello
print(q.pop())
#再次打印列表
print(list(q))

运行结果:
[9, 8, 'OK']
9
OK
[8]


到这里,Python列表的知识点就基本介绍完毕了。大家可以多练习

坚持学习,每天都能进步一点点!!

往期回顾:


本文引用和摘录相关内容,请联系侵删。

- END -


最后,文章有帮助到你的话点赞在看
励我们分享更多的干货!

展开阅读全文

页面更新:2024-03-24

标签:步长   装进   列表   队列   中国   元素   次数   原则   东西   新手   功能   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top