python教程list类型_Python数据类型之list相关常用操作
列表:在其他編程語(yǔ)言中稱為“數(shù)組”,是一種基本的數(shù)據(jù)結(jié)構(gòu)類型。
關(guān)于列表的問(wèn)題:
列表中元素使如何存儲(chǔ)的?
元素其實(shí)是內(nèi)存地址,指向真正的元素,因?yàn)樵刂貜?fù)的時(shí)候,可以重復(fù)指向(省內(nèi)存)
列表提供了哪些基本的操作?
列表操作包含以下函數(shù):
1、cmp(list1, list2):比較兩個(gè)列表的元素
2、len(list):列表元素個(gè)數(shù)
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):將元組轉(zhuǎn)換為列表
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的對(duì)象
2、list.count(obj):統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
3、list.extend(seq):在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)
4、list.index(obj):從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
5、list.insert(index, obj):將對(duì)象插入列表
6、list.pop(obj=list[-1]):移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值
7、list.remove(obj):移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
8、list.reverse():反向列表中元素
9、list.sort([func]):對(duì)原列表進(jìn)行排序
10、改list[index]=obj
11、obj in list 判斷
12、刪除del list[2]、刪除del list
這些操作的時(shí)間復(fù)雜度是多少?
增append(O(1))
插insert(O(n))
改 li[index] =obj (O(1))
移 remove (O(n))
查? in list? (O(n))
copy(淺復(fù)制):
只拷貝父對(duì)象不會(huì)拷貝其子對(duì)象,修改子對(duì)象,將受影響
(簡(jiǎn)單理解,大列表的value修改了,淺復(fù)制不會(huì)做任何修改,大列表里面的小列表的value修改,淺復(fù)制會(huì)跟著修改)
deepcopy(深復(fù)制)
深復(fù)制,將拷貝其父子對(duì)象,修改父子對(duì)象,將不受影響(簡(jiǎn)單就是完整復(fù)制一份出來(lái),兩個(gè)互不關(guān)聯(lián),一個(gè)如何修改都不會(huì)影響另外一個(gè))
實(shí)戰(zhàn)解釋
list = ["Zks","Fxm","Zzc","Zsy"]
list=列表 ["元素" , "元素" ,"元素","元素"]
下標(biāo)? ? ? 0? ? ? ? ? ?1? ? ? ? ?2? ? ? ? ?3
list [0]?? 切片? 取下標(biāo)0的元素
list [1:3] 切片? 為什么是取下標(biāo)1和2的元素
list [-1]??? 最右邊的下標(biāo) 也就是zsy
list [-3:-1] 切片值可以從左到右切,不可以從右到做切 ,但是這樣造成-1下標(biāo)切不到
list [-3:]? 單獨(dú)一個(gè)冒號(hào):代表從-3該下標(biāo)直接切到結(jié)尾
list [:2] = [0:2]? 切0到1
for index,item enumerate(names) : 獲取對(duì)象的下標(biāo)(index)和value
index = 0??? index = 1??? index = 2??? index = 3
item = Zks????? ......? ??????....??????? item= Zsy
list .append("xxx")???????????? # xxx追加到尾部?? 不能批量
list .insert(1,"xxx ")????? #xxx插入到1下標(biāo)?? 不能批量
list [2] = "xxx"???????????????? #下標(biāo)2替換成xxx
list .pop(1)??????????????????? #刪除下標(biāo)1,如果小括號(hào) ()不輸入下標(biāo)就默認(rèn)刪除最后一個(gè)下標(biāo)的元素
print(list .index("xxx"))???????? # 查看xxx字符串的下標(biāo)
print(list [list.index("xxx")])? #顯示該元素的下標(biāo)
print (list.count("xxx"))?????? #計(jì)算xxx重復(fù)次數(shù)
list .clear()??????????????????? #清空所有下標(biāo)
list .reverse()????????????????? #反轉(zhuǎn):左到右 右變成左
list .sort()????? 排序默認(rèn)是按第一個(gè)字符:如果是特殊符號(hào)#@$! 優(yōu)先排序 次之:按數(shù)字排序 再次字母排序? ASCII碼排序的
list .extend(list1)? 把list1該列表的元素合并到變量列表里面元素后面
del list1? 刪除list1
總結(jié)
以上是生活随笔為你收集整理的python教程list类型_Python数据类型之list相关常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何动态的向数组中插入键值对_在Java
- 下一篇: python3.6 安装opencv_M