思维导图

实战
- 列表的创建
方式一
>>> name=['秦皇', '唐宗', '宋祖', '唐宗']
>>> name
['秦皇', '唐宗', '宋祖', '唐宗']方式二、通过list()方法创建
>>>> name1='ABCDTWW'
>>> name2=list(name1)
>>> name2
['A', 'B', 'C', 'D', 'T', 'W', 'W']
- 列表的切片
代码1
>>> name[:]
['秦皇', '汉武', '唐宗', '宋祖']
代码2
从索引值0开始,到索引值3,0默认可以省略
>>> name[:3]
['秦皇', '汉武', '唐宗']
代码2
从索引值1开始,到索引值3
>>> name[1:3]
['汉武', '唐宗']
代码3
从索引值1开始,到列表末端,等同于name[1:4]
>>> name[1:]
['汉武', '唐宗', '宋祖']
代码4
反向切片,从列表最末端开始,取一个元素
>>> name[-1:]
['宋祖']
代码5
反向切片从末尾,反向取4个元素
>>> name[-4:]
['秦皇', '汉武', '唐宗', '宋祖']
代码6
>>> name[-4:-1]
['秦皇', '汉武', '唐宗']
代码7
按照步长正向切片,步长为2,默认步长是1,所以省略
>>> name[1:4:2]
['汉武', '宋祖']
代码8
按照步长逆向切片,步长为3,默认步长是1,所以省略
>>> name[-4:-1:3]
['秦皇']
- 列表的索引
通过列表的index方法,获取元素在列表中的索引值
>>> name.index("唐宗")
2
- 列表的统计
通过列表的count方法,获取元素在列表中的个数
>>> name.count("唐宗")
1
>>> name.append("唐宗")
>>> name.count("唐宗")
2
>>>
- 列表的添加
方法一,通过append() 方法添加元素
>>> name.append("Test")
>>> name
['秦皇', '汉武', '唐宗', '宋祖', '唐宗', 'Test']
方法二,通过insert方法,将元素插入到列表中的指定位置,需要索引值
>>> name.insert(1,"统计")
>>> name
['秦皇', '统计', '汉武', '唐宗', '宋祖', '唐宗', 'Test']
>>>
- 列表的删除
通过remove 方法删除列表中的元素
>>> name.remove("Test")
>>> name
['秦皇', '统计', '汉武', '唐宗', '宋祖', '唐宗']
通过pop方法删除,如果不带索引值,默认从列表末端删除,带索引值则按照索引删除
>>> name
['秦皇', 'Test', '唐宗', '宋祖', '唐宗', ['A', 'GTQ', 'C']]
>>> name.pop()
['A', 'GTQ', 'C']
>>> name
['秦皇', 'Test', '唐宗', '宋祖', '唐宗']
>>> name.pop(1)
'Test'
>>> name
['秦皇', '唐宗', '宋祖', '唐宗']
>>>
通过del 方法删除列表中的元素,注意del只能通过索引值删除
>>> del name[1]
>>> name
['秦皇', '汉武', '唐宗', '宋祖', '唐宗']- 列表的排序
通过sort方法对列表中的元素进行排序
排序规则:特殊字符-->数字-->大写字母-->小写字母
['@#', '唐宗', '唐宗', '宋祖', '汉武', '秦皇']
>>> name.sort()
>>> name
['@#', '唐宗', '唐宗', '宋祖', '汉武', '秦皇']
>>> name[3]="%43"
>>> name
['@#', '唐宗', '唐宗', '%43', '汉武', '秦皇']
>>> name.sort()
>>> name
['%43', '@#', '唐宗', '唐宗', '汉武', '秦皇']
>>> name[4]="88"
>>> name.sort()
>>> name
['%43', '88', '@#', '唐宗', '唐宗', '秦皇']
>>>
- 列表的拼接
通过“+”号拼接
>>> name
['%43', '88', '@#', '唐宗', '唐宗', '秦皇']
>>> name1
[2, 33, 55, 35, 88, 99]
>>> name2 = name + name1
>>> name2
['%43', '88', '@#', '唐宗', '唐宗', '秦皇', 2, 33, 55, 35, 88, 99]
>>>
通过" * " 号拼接相同的列表
>>> name3
['A', 'B', 'C']
>>> name3 * 3
['A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C']
>>>
- 列表的清空
通过clear方法清空列表中的所有元素
>>> name3
['A', 'B', 'C']
>>> name3.clear()
>>> name3
[]
- 列表的反转
通过reverse方法可以将列表中的所有元素进行反转
>>> name
[1, 2, 4, 5, 6, 7, 8]
>>> name.reverse()
>>> name
[8, 7, 6, 5, 4, 2, 1]
- 列表的拷贝
列表的浅拷贝
情况一、
列表无嵌套列表的情况下,name2拷贝name 后,改变name中元素的值,name2中的元素不会发生变化
['秦皇', '汉武', '唐宗', '宋祖', '唐宗']
>>> name2= name.copy()
>>> name2
['秦皇', '汉武', '唐宗', '宋祖', '唐宗']
>>> name[1]='Test'
>>> name2
['秦皇', '汉武', '唐宗', '宋祖', '唐宗']
情况二、
在列表中有嵌套列表的情况下,name2拷贝name 后,改变name中元素的值,name2中的元素会随着改变
>>> name3=['A', 'B', 'C']
>>> name
['秦皇', 'Test', '唐宗', '宋祖', '唐宗']
>>> name.append(name3)
>>> name
['秦皇', 'Test', '唐宗', '宋祖', '唐宗', ['A', 'B', 'C']]
>>> name2= name.copy()
>>> name2
['秦皇', 'Test', '唐宗', '宋祖', '唐宗', ['A', 'B', 'C']]
>>> name[5][1]='GTQ'
>>> name2
['秦皇', 'Test', '唐宗', '宋祖', '唐宗', ['A', 'GTQ', 'C']]
>>> 列表的深拷贝
import copy
name = ["秦皇", "汉武", "唐宗", "宋祖",['A','B','C']]
name2 = copy.deepcopy(name)
name[4][1] ='光头强'
print(name)
print(name2)
['秦皇', '汉武', '唐宗', '宋祖', ['A', '光头强', 'C']]
['秦皇', '汉武', '唐宗', '宋祖', ['A', 'B', 'C']]- 元组的创建
方式一
>>> name2 =('秦皇', '唐宗', '宋祖', '唐宗')
>>> name2
('秦皇', '唐宗', '宋祖', '唐宗')
>>>
方式2、使用tuple()方法创建
>>> name
['秦皇', '唐宗', '宋祖', '唐宗']
>>> name3=tuple(name)
>>> name3
('秦皇', '唐宗', '宋祖', '唐宗')
>>> - 元组的统计
元组通过count方法统计元素中某个元素的个数
>>> name =('秦皇', '唐宗', '宋祖', '唐宗', '宋祖', '唐宗')
>>> name.count("唐宗")
3
- 元素的索引
元组通过index方法,获取元素在元组中的索引值
>>> name
('秦皇', '唐宗', '宋祖', '唐宗', '宋祖', '唐宗')
>>> name.index("唐宗")
1