Python学习笔记(二)——列表

时间:2022-05-10 10:51:59

Python学习笔记(二)——列表

Python中的列表可以存放任何数据类型

>>> list1 = ['Hello','this','is','GUN',123,['I','Love','FishC']]
>>> list1
['Hello', 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC']]

1. 向列表中增加元素

1.1 append(key)

>>> list1.append(1)
>>> list1
['Hello', 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 1]

append方法向列表中加入元素是将key增加至列表的末尾

1.2 insert(location,key)

>>> list1.insert(1,2)
>>> list1
['Hello', 2, 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 1]
使用insert向列表中加入元素,需要指定插入的位置和插入的元素(列表的起始位置为0)

1.3 extend([key])

>>> list1.extend([3])
>>> list1
['Hello', 2, 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 1, 3]

使用extend方法向列表中增加元素是将元素以列表的形式增加至列表的末尾

2. 列表的遍历

方法一:

>>> for each in list1:
print(each) Hello
2
this
is
GUN
123
['I', 'Love', 'FishC']
1
3

方法二:

>>> length = len(list1)
>>> count = 0
>>> while count < length:
print(list1[count])
count += 1 Hello
2
this
is
GUN
123
['I', 'Love', 'FishC']
1
3

3.列表的分片

>>> list1
['Hello', 2, 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 1, 3]

3.1访问前五个元素

>>> list1[:5]
['Hello', 2, 'this', 'is', 'GUN']
[]中的数字表示左闭右开

3.2 访问2-4个元素

>>> list1[2:5]
['this', 'is', 'GUN']

3.3 访问6个元素及其之后的元素

>>> list1[5:]
[123, ['I', 'Love', 'FishC'], 1, 3]

3.4 查看固定步长的元素

查看偶数元素(奇数位置)
>>> list1[0::2]
['Hello', 'this', 'GUN', ['I', 'Love', 'FishC'], 3]

补充:列表的索引可以为负数,当索引值为负数时,表示倒数

>>> list1[-2]
1
列表的反转
>>> list1[::-1] 这种方式并不会改变原列表中元素的位置
[3, 1, ['I', 'Love', 'FishC'], 123, 'GUN', 'is', 'this', 2, 'Hello']

4. 列表的删除

方法一:删除元素值为2的元素,要求remove中的元素必须存在与列表中,否则会报错
>>> list1.remove(2)
>>> list1
['Hello', 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 1, 3]
方法二:删除列表中索引值为6的元素
>>> del list1[6]
>>> list1
['Hello', 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC'], 3]
方法三:出栈,默认弹出列表中的最后一个元素
>>> list1.pop()
3
>>> list1
['Hello', 'this', 'is', 'GUN', 123, ['I', 'Love', 'FishC']]
弹出索引值为4的元素
>>> list1.pop(4)
123
>>> list1
['Hello', 'this', 'is', 'GUN', ['I', 'Love', 'FishC']]

5.列表的拷贝

>>> list1
['Hello', 'this', 'is', 'GUN', ['I', 'Love', 'FishC']]
>>> list2 = list1[:]
>>> list2
['Hello', 'this', 'is', 'GUN', ['I', 'Love', 'FishC']]
>>> list3=list1
>>> list3
['Hello', 'this', 'is', 'GUN', ['I', 'Love', 'FishC']]
>>> list1.append(1)
>>> list1
['GUN', 'Hello', 'is', 'this', ['I', 'Love', 'FishC'], 1]
>>> list2
['Hello', 'this', 'is', 'GUN', ['I', 'Love', 'FishC']]
>>> list3
['GUN', 'Hello', 'is', 'this', ['I', 'Love', 'FishC'], 1]

6. 其他

列表的排序 列表名.sort()

列表的逆排序 列表名.sort(reverse=True)列表名.reverse()

清除列表 列表名.clear()

复制 list2=list1.copy() list1.clear() 此时list1为空列表 而list2列表为原list1列表的值

统计元素出现的次数 list1.count(key)

计算列表元素的个数 len(list1)

返回列表中最大元素 max(list1)

返回列表中最小元素 min(list1)

7.列表和元组

元组是一种特殊的列表,当定义好元组时就不能在对元组进行添加删除修改操作

>>> temp = (1)
>>> type(temp) >>> temp = 1,2,3
>>> type(temp) >>> 8*8
64
>>> 8*(8,)
(8, 8, 8, 8, 8, 8, 8, 8)
元组不允许修改,但是可以拼接
>>> temp = ('hello','everyone')
>>> temp = temp[:2]+('this','is','GUN')
>>> temp
('hello', 'everyone', 'this', 'is', 'GUN')
元组不可删除,但可以删除整个元组
>>> del temp
>>> temp
Traceback (most recent call last):
File "", line 1, in
temp
NameError: name 'temp' is not defined
>>>