数据结构:列表(一)

一、数组和列表的区别

区别一:

数组中存放的数据类型必须一致,可以存放基本类型数据

list中可以存放不同类型数据,但不能存放基本类型数据

区别二:

数组不能删除制定位置元素,除非重建数组对象

list移除某一元素后,后续元素会前移

区别三:

数组初始化后大小固定,且数据都已经被赋值

列表长度是根据内容的多少而改变的

二、python中深浅复制的区别

Python的数据结构总体分为两类:一类:字符串和数字,另外一类:列表、元组、字典等

1、浅拷贝

浅拷贝,在内存中只额外创建第一层数据

1
2
3
4
5
import copy
  
n1 = {"k1""luo""k2"123"k3": ["jia"456]}
  
n3 = copy.copy(n1)

 

2、深拷贝

深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)

1
2
3
4
5
import copy
  
n1 = {"k1""luo""k2"123"k3": ["jia"456]}
  
n4 = copy.deepcopy(n1)

三、列表提供了哪些基本的操作,这些操作的复杂度是多少

1、列表提供了哪些基本的操作

2、这些操作的时间复杂度是多少

OperationBig-O Efficiency
index [] O(1)
index assignment O(1)
append O(1)
pop() O(1)
pop(i) O(n)
insert(i,item) O(n)
del operator O(n)
iteration O(n)
contains (in) O(n)
get slice [x:y] O(k)
del slice O(n)
set slice O(n+k)
reverse O(n)
concatenate O(k)
sort O(n log n)
multiply O(nk)
posted @ 2018-09-25 17:07  活的潇洒80  阅读(210)  评论(0编辑  收藏  举报