列表是python開發(fā)過程中最常用的數(shù)據(jù)類型之一,列表俗稱:list?,特點如下:
創(chuàng)新互聯(lián)公司服務項目包括青原網站建設、青原網站制作、青原網頁制作以及青原網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,青原網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到青原省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
1.列表由一個或者多個數(shù)據(jù)構成,數(shù)據(jù)的類型可以不相同也可以相同;
2.列表中的數(shù)據(jù)需要寫在[]中括號內部,數(shù)據(jù)與數(shù)據(jù)之間用逗號隔開;
3.列表是一個有序的集合,下標索引默認重 0 開始,和字符串類似;
具體代碼示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com ? @File:python_list.py @Time:2019/9/25 20:45 ? @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! """ ? ? list1?=?list()?#定義一個空列表 print("list1 :",list1) list2?=?[1,2,3,4]???????????#定義一個整數(shù)類型的列表賦值給list2 print("list2 : %s"?%?list2) list3?=?["a","b","c"]???????#定義一個字符串類型的列表賦值給list3 print("list3 : {}"?.format(list3)) list4?=?[0,"hello",True]????#定義一個不同數(shù)據(jù)類型的列表賦值給list4 print("list4 : {0}"?.format(list4)) |
輸出結果:
1 2 3 4 | list1?:?[] list2?:?[1,?2,?3,?4] list3?:?['a',?'b',?'c'] list4?:?[0,?'hello',?True] |
?
?
在python開發(fā)過程,list列表最常用的就是增刪改查,下面跟上代碼一一講解:
一般可以使用append()函數(shù)來為列表list添加數(shù)據(jù),默認將數(shù)據(jù)追加在末尾。示例代碼如下:
1 2 3 4 5 | list1?=?list()?#定義一個空列表 print("list1 : ",list1) list1.append("hello")?# 在列表list的末尾添加字符串 'hello' list1.append(True)????# 在列表list的末尾添加布爾值 True print("list1 : ",list1) |
輸出結果:
1 2 | list1?:??[] list1?:??['hello',?True] |
?
列表中的數(shù)據(jù)從左到右,索引值默認重0 開始以此遞增,和字符串的索引值類似,刪除使用?del?關鍵字,直接列表List時根據(jù)數(shù)據(jù)對應的索引值直接刪除即可,代碼如下:
1 2 3 4 5 6 7 8 | list2?=?[1,2,3,4,5,6,7,False,"python"] print("刪除數(shù)據(jù)之前:{}".format(list2)) del?list2[0]??# 刪除列表中的(索引值等于0)第一個數(shù)據(jù),此時list2 中數(shù)據(jù)為[2,3,4,5,6,7,False,"python"] print("第一次數(shù)據(jù)之后:{}".format(list2)) del?list2[0]??# 基于上一次的結果,刪除(索引值等于0)第一個數(shù)據(jù),此時list2 中數(shù)據(jù)為[3,4,5,6,7,False,"python"] print("第二次數(shù)據(jù)之后:{}".format(list2)) del?list2[3]??# 基于上一次的結果,刪除(索引值等于3)第四個數(shù)據(jù),此時list2 中數(shù)據(jù)為[3,4,5,7,False,"python"] print("第三次數(shù)據(jù)之后:{}".format(list2)) |
輸出結果:
1 2 3 4 | 刪除數(shù)據(jù)之前:[1,?2,?3,?4,?5,?6,?7,?False,?'python'] 第一次數(shù)據(jù)之后:[2,?3,?4,?5,?6,?7,?False,?'python'] 第二次數(shù)據(jù)之后:[3,?4,?5,?6,?7,?False,?'python'] 第三次數(shù)據(jù)之后:[3,?4,?5,?7,?False,?'python'] |
?
直接根據(jù)索引值找到列表中對應的數(shù)據(jù),然后賦值即可。
1 2 3 4 5 6 | list2?=?[1,2,3,4,5,6,7,False,"python"] print("修改數(shù)據(jù)之前:{}".format(list2)) list2[2]?=?False???# 修改列表索引值為2的數(shù)據(jù)(即列表中的第三個數(shù)據(jù)),直接賦值為bool變量 False print("第一次修改數(shù)據(jù)之后:{}".format(list2)) list2[0]?=?"python"??# 修改列表索引值為0的數(shù)據(jù)(即列表中的第第一個數(shù)據(jù)),直接賦值為bool變量 False print("第二次修改數(shù)據(jù)之后:{}".format(list2)) |
輸出結果:
1 2 3 | 修改數(shù)據(jù)之前:[1,?2,?3,?4,?5,?6,?7,?False,?'python'] 第一次修改數(shù)據(jù)之后:[1,?2,?False,?4,?5,?6,?7,?False,?'python'] 第二次修改數(shù)據(jù)之后:['python',?2,?False,?4,?5,?6,?7,?False,?'python'] |
?
直接根據(jù)索引值找到列表中對應的數(shù)據(jù)即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | list2?=?[1,2,3,4,5,6,7,False,"python"] print(list2[0])?????????????????# 輸出列表中索引值為0的數(shù)據(jù),即第一個元素 print(list2[5])?????????????????# 輸出列表中索引值為5的數(shù)據(jù),即第六個元素 print(len(list2))???????????????# 獲取列表中數(shù)據(jù)個數(shù) ? # 獲取列表的最后一個元素,注意要 len(list2) - 1,因為最后一個元素的索引值為8 print("list2中最后一個數(shù)據(jù)是:",list2[len(list2)-1]) ? print("***"*20)?#小竅門:直接輸出60個* # 遍歷列表 print("遍歷列表方式一:") for?i?in??list2: ????print(i) ???? ???? print("***"*20)?#小竅門:直接輸出60個* print("遍歷列表方式二:") for?i?in?range(len(list2)): ????# 內置函數(shù) type()獲取數(shù)據(jù)類型 ????print("list2列表中索引值{}對應的數(shù)據(jù)是{},數(shù)據(jù)類型是:{}".format(i,list2[i],type(list2[i]))) |
輸出結果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 1 6 9 list2中最后一個數(shù)據(jù)是:?python ************************************************************ 遍歷列表方式一: 1 2 3 4 5 6 7 False python ************************************************************ 遍歷列表方式二: list2列表中索引值0對應的數(shù)據(jù)是1,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值1對應的數(shù)據(jù)是2,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值2對應的數(shù)據(jù)是3,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值3對應的數(shù)據(jù)是4,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值4對應的數(shù)據(jù)是5,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值5對應的數(shù)據(jù)是6,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值6對應的數(shù)據(jù)是7,數(shù)據(jù)類型是:<class?'int'> list2列表中索引值7對應的數(shù)據(jù)是False,數(shù)據(jù)類型是:<class?'bool'> list2列表中索引值8對應的數(shù)據(jù)是python,數(shù)據(jù)類型是:<class?'str'> |
注意上面代碼中兩種循環(huán)方式的區(qū)別,第一種循環(huán)是直接根據(jù)列表list中的數(shù)據(jù)通過偏移依次遍歷,第二種是通過列表list的索引值遍歷循環(huán),類似查找操作。順便回憶一下內置函數(shù)type()的使用。
列表List截取和字符串的操作類似,直接根據(jù)List的下標索引值操作即可,演示代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | list1?=?["猿",True,"python",5.5,"hello",20,"list","study"] print("list1:",list1) ? # 截取在列表中索引值為2-4的數(shù)據(jù),注意截取并不包括4 list2?=?list1[2:4] print("list2:",list2) ? # 截取在列表中索引值為1-5的數(shù)據(jù),注意截取并不包括5 list3?=?list1[1:5] print("list3:",list3) ? # 截取在列表中索引值為0-4的數(shù)據(jù),冒號前面不設置參數(shù),默認重0開始,注意截取并不包括4 list4?=?list1[:4] print("list4:",list4) ? # 截取在列表中索引值為2-末尾的數(shù)據(jù),冒號后面不設置參數(shù),默認截取到最后一位數(shù)據(jù),注意截取包括最后一位 list5?=?list1[2:] print("list5:",list5) |
輸出結果:
1 2 3 4 5 | list1:?['猿',?True,?'python',?5.5,?'hello',?20,?'list',?'study'] list2:?['python',?5.5] list3:?[True,?'python',?5.5,?'hello'] list4:?['猿',?True,?'python',?5.5] list5:?['python',?5.5,?'hello',?20,?'list',?'study'] |
?
可以通過使用sort()函數(shù)或者reverse()函數(shù)對列表list排序,演示代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 對數(shù)字排序 list1?=?[10,2,30,4,5,6,7]?#定義一個空列表 print("排序之前:",list1) list1.sort()??# 默認重小到大依次排序 print("排序之后:%s"?%?list1) list1.reverse()?# 默認重大到小依次排序 print("排序之后:{}".format(list1)) ? print("***"*20)?# 小竅門:直接打印60個* #對字符串排序 list2?=?["f","e","c","a"] print("排序之前:",list2) list2.sort()??# 默認重小到大依次排序 print("排序之后:%s"?%?list2) list2.reverse()?# 默認重大到小依次排序 print("排序之后:{}".format(list2)) |
輸出結果:
1 2 3 4 5 6 7 | 排序之前:?[10,?2,?30,?4,?5,?6,?7] 排序之后:[2,?4,?5,?6,?7,?10,?30] 排序之后:[30,?10,?7,?6,?5,?4,?2] ************************************************************ 排序之前:?['f',?'e',?'c',?'a'] 排序之后:['a',?'c',?'e',?'f'] 排序之后:['f',?'e',?'c',?'a'] |
?
使用list(str),強制將str字符串轉為list列表,演示代碼如下:
1 2 3 4 | str1?=?"hello world" list1?=?list(str1)??# 強制將str1 字符串轉為列表 list print("str1:{},數(shù)據(jù)類型:{}".format(str1,type(str1))) print("list1:{},數(shù)據(jù)類型:{}".format(list1,type(list1))) |
輸出結果:
1 2 | str1:hello?world,數(shù)據(jù)類型:<class?'str'> list1:['h',?'e',?'l',?'l',?'o',?' ',?'w',?'o',?'r',?'l',?'d'],數(shù)據(jù)類型:<class?'list'> |
?
使用join()函數(shù)將列表直接轉為字符串,演示代碼如下:
1 2 3 4 | list2?=?["猿說python",'-',"python教程"] str2?=?"".join(list2) print("list2:{},數(shù)據(jù)類型:{}".format(list2,type(list2))) print("str2:{},數(shù)據(jù)類型:{}".format(str2,type(str2))) |
輸出結果:
1 2 | list2:['猿說python',?'-',?'python教程'],數(shù)據(jù)類型:<class?'list'> str2:猿說python-python教程,數(shù)據(jù)類型:<class?'str'> |
?
?
1.對于列表的增刪改查是python開發(fā)中經常使用的內容,需要全部掌握.
2.注意列表List與字符串str的寫法區(qū)別:
1 2 | a?=?"hello world"????# 字符串 b?=?["hello world"]??# 列表,列表中只有一個字符串數(shù)據(jù) |
?
?
1.Pycharm配置開發(fā)模板
2.python for循環(huán)
3.python 字符串
?
轉載請注明:猿說Python???python列表
?
分享標題:python列表list(13)
路徑分享:http://jinyejixie.com/article34/ijgepe.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、App開發(fā)、網站策劃、商城網站、標簽優(yōu)化、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)