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在列表中出现的次数。