13.1-創(chuàng)建列表:
第一種方式:
>>> l1 = ["ab","cd","ef"]
>>> type(l1)
<class 'list'>
第二種方式:
>>> l1 = list(["ab","cd","ef"])
>>> type(l1)
<class 'list'>
13.2-索引及切片:
說(shuō)明:和字符串中的用法相同凛捏,但切片返回的是一個(gè)列表。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
# 索引
print("索引:",l1[0])
# 切片
print("切片:",l1[:2])
print("切片:",l1[1:len(l1)])
運(yùn)行結(jié)果:
13.3-列表(list)內(nèi)部方法介紹:
append(self, p_object):
說(shuō)明:將一個(gè)元素追加到列表末尾际度, p_object
表示要追加到列表末尾的元素葵袭。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
# 將 "gh" 追加到列表末尾,將修改原來(lái)的列表
l1.append("gh")
print(l1)
運(yùn)行結(jié)果:
clear(self):
說(shuō)明:刪除所有元素乖菱,即清空列表坡锡。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
print(l1)
# 清空列表
l1.clear()
print(l1)
運(yùn)行結(jié)果:
copy(self):
說(shuō)明:淺拷貝。
count(self, value):
說(shuō)明:統(tǒng)計(jì)某個(gè)元素在列表里出現(xiàn)的次數(shù)窒所, value
表示即將統(tǒng)計(jì)的元素鹉勒。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef","cd"])
# 統(tǒng)計(jì) "cd" 在列表里出現(xiàn)的次數(shù)
l2 = l1.count("cd")
print(l2)
運(yùn)行結(jié)果:
extend(self, iterable):
說(shuō)明:擴(kuò)展,在列表末尾一次性追加一個(gè)可迭代的對(duì)象吵取。 iterable
接受一個(gè)可迭代的對(duì)象禽额。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
l2 = ["gh","ij"]
# 將 "l2" 這個(gè)列表中的所有元素 追加到 "l1" 這個(gè)列表末尾
l1.extend(l2)
print(l1)
運(yùn)行結(jié)果:
index(self, value, start=None, stop=None):
說(shuō)明:在列表中查找指定元素的位置,如果存在返回指定元素的索引值,否則報(bào)錯(cuò)脯倒, value
表示指定的元素实辑,start
表示開始的位置, end
表示結(jié)束的位置藻丢。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
# 查找 "cd" 在列表中的位置
l2 = l1.index("cd")
print("cd:",l2)
# 指定范圍剪撬,查找 "ed" 在列表中的位置
l3 = l1.index("ef",1,3)
print("ef:",l3)
# 查找 "gh" 在列表中的位置,沒有找到報(bào)錯(cuò)
l4 = l1.index("gh")
print(l4)
運(yùn)行結(jié)果:
insert(self, index, p_object):
說(shuō)明:將一個(gè)元素插入列表中指定的索引位置悠反, index
表示元素要插入的指定索引位置残黑, p_object
表示要插入列表中指定的元素。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
print("插入前:",l1)
# 將 "gh" 這個(gè)元素插入到列表索引位置 "1" 上
l1.insert(1,"gh")
print("插入后:",l1)
運(yùn)行結(jié)果:
pop(self, index=None):
說(shuō)明:移除列表中指定索引位置上的元素斋否,并返回該元素的值梨水, index
表示要移除元素的索引位置,默認(rèn)為最后一個(gè)元素茵臭。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef","gh"])
print("移除前:",l1)
# 默認(rèn)移除最后一個(gè)元素
l1.pop()
print("移除最后一個(gè)元素:",l1)
# 移除指定元素疫诽,并將移除的元素賦值給 "s1"
s1 = l1.pop(1)
print("移除指定元素:",l1)
print("移除的元素:",s1)
運(yùn)行結(jié)果:
remove(self, value):
說(shuō)明:如果列表中有多個(gè)相同的元素,將移除第一個(gè)匹配項(xiàng)笼恰, value
表示要移除的元素踊沸。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef","cd"])
# 移除列表中 "cd" 這個(gè)元素的第一個(gè)匹配項(xiàng)
l1.remove("cd")
print(l1)
# 如果該元素不存在,將會(huì)報(bào)錯(cuò)
l1.remove("abc")
運(yùn)行結(jié)果:
reverse(self):
說(shuō)明:反轉(zhuǎn)社证,反向輸出列表中的元素逼龟。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef"])
print("反向輸出前:",l1)
l1.reverse()
print("反向輸出后:",l1)
運(yùn)行結(jié)果:
sort(self, key=None, reverse=False):
說(shuō)明:對(duì)列表進(jìn)行排序。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["cd","ef","ab"])
print(l1)
#對(duì)列表進(jìn)行排序
l1.sort()
print(l1)
運(yùn)行結(jié)果:
13.4-del關(guān)鍵字:
指定刪除列表中一個(gè)或多個(gè)連續(xù)的元素追葡。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = list(["ab","cd","ef","gh","ij"])
print(l1)
# 刪除列表中索引位置為 "3" 的元素
del l1[3]
print(l1)
# 指定范圍腺律,刪除列表中的元素
del l1[1:3]
print(l1)
運(yùn)行結(jié)果:
13.5-將其他數(shù)據(jù)類型轉(zhuǎn)換成列表:
def __init__(self, seq=()): # known special case of list.__init__
"""
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
# (copied from class doc)
"""
pass
說(shuō)明: list
接受的參數(shù)為可迭代的對(duì)象時(shí),會(huì)將其轉(zhuǎn)換成列表宜肉。
將字符串轉(zhuǎn)換成列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
s1 = "abcdef"
# 將字符串轉(zhuǎn)換成列表
l1 = list(s1)
print(l1)
print(type(l1))
運(yùn)行結(jié)果:
注:在將字符串轉(zhuǎn)換成列表時(shí)匀钧,會(huì)在內(nèi)部執(zhí)行for循環(huán),循環(huán)字符串將循環(huán)的每一個(gè)元素當(dāng)做列表的元素谬返。
將元組轉(zhuǎn)換成列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
t1 = ("ab","cd","ef")
# 將元組轉(zhuǎn)換成列表
l1 = list(t1)
print(l1)
運(yùn)行結(jié)果:
將字典轉(zhuǎn)換成列表:
將字典的鍵轉(zhuǎn)換成列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
dic = {
"k1" : "ab",
"k2" : "cd",
"k3" : "ef"
}
# 將字典的鍵轉(zhuǎn)換成列表
l1 = list(dic)
print(l1)
運(yùn)行結(jié)果:
注:由于字典循環(huán)時(shí)默認(rèn)循環(huán)的就是 key
之斯,所以才會(huì)將 key
當(dāng)做列表中的元素。
將字典的值轉(zhuǎn)換成列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
dic = {
"d1" : "ab",
"d2" : "cd",
"d3" : "ef"
}
# 將字典的值轉(zhuǎn)換成列表
l1 = list(dic.values())
print(l1)
運(yùn)行結(jié)果:
注:可以將循環(huán) key
改成循環(huán)的是 value
遣铝,這樣就會(huì)將 value
當(dāng)做列表的元素佑刷。
將字典的鍵值對(duì)轉(zhuǎn)換成列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
dic = {
"d1" : "ab",
"d2" : "cd",
"d3" : "ef"
}
# 將字典的鍵值對(duì)轉(zhuǎn)換成列表
l1 = list(dic.items())
print(l1)
運(yùn)行結(jié)果:
注:將字典的 鍵值對(duì)
當(dāng)做列表的元素。
13.6-多層嵌套:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = ["ab","cd",{"k1":"ef","k2":{"k3":123,"k4":456}}]
# 取 "123"
print(l1[2]["k2"]["k3"])
運(yùn)行結(jié)果: