python列表常用操作函数_Python入门——列表常用操作
Python列表常用操作
準(zhǔn)備
控制臺(tái)輸入ipython
parallels@parallels-vm:~$ ipythonPython 2.7.12 (default, Dec 4 2017, 14:50:18) Type "copyright", "credits" or "license" for more information.IPython 2.4.1 -- An enhanced Interactive Python.? -> Introduction and overview of IPython's features.%quickref -> Quick reference.help -> Python's own help system.object? -> Details about 'object', use 'object??' for extra details.In [1]:
定義列表
定義一個(gè)空白列表name_list,
In [2]: name_list = []In [3]:
列表常用操作
在控制臺(tái)輸入name_list.,然后按tap鍵補(bǔ)全,
In [3]: name_list.name_list.append name_list.index name_list.remove name_list.count name_list.insert name_list.reverse name_list.extend name_list.pop name_list.sort In [3]: name_list.
從上面的提示中可以看出,列表共有9個(gè)操作或方法,而且也不需要進(jìn)行死記硬背,需要用的時(shí)候通過(guò)上述方式得到提示,然后只要我們認(rèn)得單詞,基本上就知道怎么操作了。
取值和取索引
取值
建立一個(gè)空白文檔(名字自定),==hm01列表基本使用.py==,先定義一個(gè)列表name_list,如果我們想知道列表某個(gè)位置的值是什么,可以通過(guò)傳入[1]參數(shù)獲得對(duì)應(yīng)的值,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi['zhangsan', 'lisi', 'wangwu']Process finished with exit code 0
我們可以看到,列表的第二個(gè)值是lisi。
取索引
如果我們想知道一個(gè)值對(duì)應(yīng)的索引位置,可以通過(guò)index方法傳入字符串參數(shù),
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', 'lisi', 'wangwu']Process finished with exit code 0
wangwu在列表中對(duì)應(yīng)的索引值是2.
修改
如果想修改列表中的值,可以通過(guò)name_list[1] = “李四”的方式進(jìn)行修改,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '李四', 'wangwu']Process finished with exit code 0
已經(jīng)將列表的lisi改成李四。
添加
那么以上哪一個(gè)函數(shù)是添加呢?name_list.append是追加;name_list.insert是插入;name_list.extend是擴(kuò)展;我們逐一進(jìn)行學(xué)習(xí),
append追加
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '李四', 'wangwu', '王小二']Process finished with exit code 0
我們可以看出,在列表的末尾追加一個(gè)王小二。
insert插入
先看一下insert的用法,self因?yàn)闀簳r(shí)沒(méi)有學(xué)習(xí),可以先忽略,index表示從哪個(gè)位置插入,object表示要插入的對(duì)象,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")print(name_list)
執(zhí)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', 'wangwu', '王小二']Process finished with exit code 0
在insert方法可以在制定的索引位置插入字符串。
extend擴(kuò)展
先看一下extend方法的參數(shù),self先忽略,iterable表示可以將包含一組數(shù)據(jù)的數(shù)據(jù)類(lèi)型,都可以當(dāng)參數(shù)傳遞進(jìn)來(lái),那么我們先準(zhǔn)備一個(gè)臨時(shí)列表,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孫悟空","豬二哥","沙師弟"]name_list.extend(temp_list)print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', 'wangwu', '王小二', '孫悟空', '豬二哥', '沙師弟']Process finished with exit code 0
在name_list列表的最后插入了temp_list列表,這個(gè)就是expend擴(kuò)展的用法。
刪除
哪一個(gè)方法可以刪除呢?remove刪除;pop彈出clear清除、清空;
remove刪除
我們先看一下目前控制臺(tái)中輸出的字符串,我們?cè)倏匆幌聄emove的用法,object表示要?jiǎng)h除的對(duì)象,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孫悟空","豬二哥","沙師弟"]name_list.extend(temp_list)# 5.刪除name_list.remove("wangwu")print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '王小二', '孫悟空', '豬二哥', '沙師弟']Process finished with exit code 0
李四和王小二之間的wangwu被刪除了。
pop
我們先看一下pop的用法,pop方法是可以帶參數(shù),那么我們先試一下不帶參數(shù)的效果,
不帶參數(shù)
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孫悟空","豬二哥","沙師弟"]name_list.extend(temp_list)# 5.刪除name_list.remove("wangwu")name_list.pop()print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '王小二', '孫悟空', '豬二哥']Process finished with exit code 0
列表末尾的沙師弟被刪除。
帶參數(shù)
不帶參數(shù)默認(rèn)刪除最后一個(gè),如果帶參數(shù)則會(huì)刪除制定索引位置的數(shù)據(jù),比如我們想刪除王小二,那么索引index=3,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孫悟空","豬二哥","沙師弟"]name_list.extend(temp_list)# 5.刪除name_list.remove("wangwu")name_list.pop()name_list.pop(3)print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '孫悟空', '豬二哥']Process finished with exit code 0
王小二被刪除。
clear清除
我們先看一下clear的用法, 我們可以看到,clear只有一個(gè)self參數(shù),可以忽略,
name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孫悟空","豬二哥","沙師弟"]name_list.extend(temp_list)# 5.刪除name_list.remove("wangwu")name_list.pop()name_list.pop(3)name_list.clear()print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_01_列表的基本使用.pylisi2[]Process finished with exit code 0
整個(gè)列表被清空。
擴(kuò)展
使用del從列表中刪除數(shù)據(jù),
建立空白文本
新建空白文本==hm_02_del關(guān)鍵字.py==,定義一個(gè)name_list列表,
name_list = ["張三","李四","王五"]print(name_list)
del刪除指定數(shù)據(jù)
在代碼中加入del關(guān)鍵字,刪除指定的數(shù)據(jù),
name_list = ["張三","李四","王五"]del name_list[1]print(name_list)
運(yùn)行程序,控制臺(tái)輸出如下,
/home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/venv/bin/python /home/parallels/Desktop/05_高級(jí)數(shù)據(jù)類(lèi)型/hm_02_del關(guān)鍵字.py['張三', '王五']Process finished with exit code 0
已經(jīng)將index=1的數(shù)據(jù)刪除,del關(guān)鍵字本質(zhì)上是用來(lái)將一個(gè)變量從內(nèi)存中刪除的。
del刪除內(nèi)存數(shù)據(jù)演示
先定義一個(gè)name變量,然后用del關(guān)鍵字把name變量刪除,同時(shí)在第7行打一個(gè)斷點(diǎn),運(yùn)行程序,我們?cè)倏刂婆_(tái)觀察輸出,程序停在了第7行,同時(shí)name = “小明”,緊接著單步執(zhí)行,控制臺(tái)輸出如下,name變量已經(jīng)被刪除,那么這時(shí)候還能通過(guò)print打印name嗎?我們嘗試一下,
name_list = ["張三","李四","王五"]del name_list[1]name = "小明"del nameprint(name)print(name_list)
運(yùn)行程序,執(zhí)行結(jié)果如下,程序報(bào)錯(cuò),NameError: name ‘name’ is not defined,說(shuō)明name變量已經(jīng)完全從內(nèi)存中刪除。
最近喜歡上了Python,每天學(xué)習(xí)一點(diǎn)點(diǎn)!人生苦短,我用Python!
總結(jié)
以上是生活随笔為你收集整理的python列表常用操作函数_Python入门——列表常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: showmodaldialog 为什么不
- 下一篇: npoi 设定视图为分页预览_按班级分页