Python基础笔记5 - 列表 (list)

Python 基础语法5

列表 (list)—可变数据类型

cars = ['宝马', '奔驰', '雷克萨斯']

以上 [‘宝马’, ‘奔驰’, ‘雷克萨斯’] 就是一个列表
一个列表需要使用方括号 [ ] 将所有数据框起来,里面中的每一个数据叫做“元素”, 元素与元素之间使用逗号隔开。

1. 列表的打印

list = ['中国', 'Russia', 180, 3.5]
print(list)

输出:[‘中国’, ‘Russia’, 180, 3.5]

你会发现,列表的胸怀很宽广,各种类型的数据(字符串、整数、浮点数)都能放在里面

另一种打印方式:

list1 = ['中国', "Russia", 180, 3.5]
for item in list1:
    print(item)

输出:
中国
Russia
180
3.5

2. 从列表中提取单个元素

我们可以通过列表名搭配下标方式来提取列表中的元素,读取元素中的内容。

transformers = ['中国', 'Russia', 180, 3.5]
print(transformers[1])

输出:Russia
注意:列表的下标是从 0 开始的

3. 从列表中提取多个元素

SuperWings = ['小飞', '安琪', '乐迪', '酷飞', '小艾']
print(SuperWings[:])
print(SuperWings[2:])
print(SuperWings[:2])
print(SuperWings[1:3])
print(SuperWings[2:4])

输出为:
[‘小飞’, ‘安琪’, ‘乐迪’, ‘酷飞’, ‘小艾’]
[‘乐迪’, ‘酷飞’, ‘小艾’]
[‘小飞’, ‘安琪’]
[‘安琪’, ‘乐迪’]
[‘乐迪’, ‘酷飞’]

这种通过冒号来截取列表元素的操作叫切片,就是将列表的某个片段,通过切割下标的方式来提取多个元素。

  • 玩胜口诀:
    1.冒号左边空,就要从下标为0的元素开始取。
    2.右边空,就要取到列表的最后一个元素。
    3.冒号左边数字对应的元素要拿,右边的不动。

4. 修改列表元素

SuperWings = ['小飞', '安琪', '乐迪']
SuperWings[2] = '酷飞'
print(SuperWings)

输出:[‘小飞’, ‘安琪’, ‘酷飞’]

5. 给列表添加元素

需要用 append() 函数给列表增加元素

SuperWings = ['小飞', '安琪', '乐迪']
SuperWings.append('酷飞')
print(SuperWings)

输出:[‘小飞’, ‘安琪’, ‘乐迪’, ‘酷飞’]

6. 删除列表元素

删除列表元素需要用到 del() 方法。
del 方法的语法是:del 列表名[元素的下标]

SuperWings = ['小飞', '安琪', '乐迪', '酷飞', '小艾']
del SuperWings[2]
print(SuperWings)

输出:[‘小飞’, ‘安琪’, ‘酷飞’, ‘小艾’]

7. 列表的操作

(1)创建列表
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1, 2, 3, 4]
>>> a
[1, 2, 3, 4]
>>> b = list()
>>> b
[]
>>> c = []
>>> c
[]
>>> d = [1]
>>> d
[1]
>>> e = 'hello world'
>>> f = list(e)
>>> e
'hello world'
>>> f
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>>

由上看出,创建列表有两种方式,一种是直接用 “[]” 括起来,一种是使用 list() 函数,其参数是一个可迭代对象。其中b和c创建的都是空列表。

(2)连接操作
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]
>>> a = [1,3,5]
>>> b = [2,4,6]
>>> a + b
[1, 3, 5, 2, 4, 6]
>>>

列表的连接操作,直接使用“+”运算符。

(3)重复操作
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 2 * [1,2,3]
[1, 2, 3, 1, 2, 3]
>>> [5,6,7] * 3
[5, 6, 7, 5, 6, 7, 5, 6, 7]
>>>

重复操作的运算符为“ * ”,一边为正整数,一边为列表,表示将列表重复正整数次。两者位置可以交换,结果一样。

(4)求列表长度
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [2,3,4,5,6]
>>> len(a)
5
>>> len(['1','s','f',4,'fgh',9])
6
>>>

求列表长度使用 len() 函数。

(5)比较操作
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> [1, 2] > [2, 3]
False
>>> [6, 7] > [6, 5]
True
>>> [6, 7] >= [6, 5]
True
>>>

列表的比较操作有<、>、<=、>=、==、和 !=,结果为布尔类型,比较方式,先比较第一个元素,若无法判定真假,则比较第二个元素,以此类推,直到判定真假。

(6)拆封操作
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [2, 7, 0]
>>> (a1, a2, a3) = a
>>> a1, a2, a3
(2, 7, 0)
>>> a1, a2, a3 = a
>>> a1, a2, a3
(2, 7, 0)
>>> _,a5,_ = a
>>> a5
7
>>>

由上看出,列表 a 中的元素可以按顺序一次性传递给变量a1、a2、a3,效率非常高,“_, a5, _ = a” 中,下划线为 占位符,被占位符接受的元素值直接被丢弃(下划线占位符只会保留最后一次接受的数值,之前的都会被丢弃,上述例子中,下划线的值为0,而不是 2)。

(7)count方法
C:\Users\mt>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1,7,2,6,3,46,6,12,6,3]
>>> a.count(6)
3
>>>

list.count(obj) 方法,计算参数obj在列表中出现的次数。


上一篇:Python基础笔记4 - input()函数与if语句
下一篇:Python基础笔记6 - 字典(dict)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫叶2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值