2018-12-30核心数据结构之列表
一、什么是数据结构
1.python中核心数据结构的分类:
1,序列类型:字符串、列表、元祖
2,泛映射类型:字典
3,集合:set()
在python中列表、元祖、字典、集合都称为容器。
2,序列类型和数据结构共有的特点:
image.png二、列表
如:字符串、列表、元祖、字典、集合、函数 类
[1,2,3,4,5,6,7,8]
创建列表
image.png嵌套列表
列表可包含python中任何类型的元素(对象),当然也可以包括一个或多个列表
image.png
列表的基本操作
1取值
没有嵌套的列表
qian
嵌套的列表
image.png
切片(同字符串切片类似)
image.png必会的一些方法
首先定义一个列表:
li=[4,34,34,43]
len()
方法是一个内置函数,可以统计序列类型的数据结构长度。
image.png
in
判断元素是否存在于列表中。
image.png
append()
向列表的最后位置,添加一个元素,只接收一个参数。
image.png
insert()
向原列表的制定位置插入一个元素,接收两个参数,第一个是索引号,第二个是要插入的元素。
image.png
extend()
可以把一个序列中的每个元素追加到原列表中,接收的参数是一个序列类型的数据(字符串,列表)。
remove()
移除列表中某个制定的元素,没有返回值,并且假如有多个相同的元素存在,每次只会移除排在最前面的那个元素
image.png
pop()
从原列表中删除一个元素,并且把这个元素返回。接收零个或一个参数,参数是偏移量,int类型。
image.png
index()
返回制定元素的索引号
image.png
count()
是列表的内置方法,可以统计出相同值的元素在列表中总共出现多少次。
image.png
sort()
是列表的内置方法,对列表中元素进行排序。
默认是升序,这个改变列表自身。
还可以接收一个reverse(反转)参数,其值可以是Ture和False.
False是升序,True是降序。需要是同一种数据类型,比如都是字符串,或都是整形。
image.png
sorted()
是python内置函数,接受一个参数,参数可以是任意序列类型的数据,但是元素的类型必须相同
image.png
2通过索引和切片修改列表
索引号
image.png切片
image.png3,引用赋值
image.pngimage.png
解决方法
:使用以下任意一种方法,都可以将原列表的赋值给一个新的列表
1,列表的内置函数 obj.copy()
2,序列类型函数 list(obj)
3,列表切片
以上方法得到的列表可赋值给一个新的变量, 这变量各自有自己的列表对象,互相之间不会影响
4,深浅拷贝
image.png解决方法
image.png