python的多元數(shù)據(jù)類(lèi)型(上)
什么是列表list
列表是python中最基本的數(shù)據(jù)結(jié)構(gòu),列表中的每個(gè)元素都分配一個(gè)數(shù)字——即當(dāng)前數(shù)據(jù)的位置,或索引,第一個(gè)索引是0第二個(gè)索引是1,依次類(lèi)推
*列表是個(gè)“筐”什么也可以往里裝。數(shù)據(jù)一多了就形成了結(jié)構(gòu)。列表list是數(shù)據(jù)集合的一種形式
#列表是一個(gè)有序的、可變的數(shù)據(jù)結(jié)構(gòu)/類(lèi)型
1.聲明一個(gè)列表list
方法一: 空值創(chuàng)建 list_data = list()
方法二: 空值創(chuàng)建 list_data = [ ]
列表之間使用 , 分隔 ,頭尾使用方括弧 [ ]
列表的語(yǔ)法規(guī)則 [“中國(guó)”,‘SHENZHEN',44,True,1.0]
列表添加其他類(lèi)型數(shù)據(jù)(嵌套)[{“name”:“l(fā)ike”,“age”:4}, (1,2),[1,3,4]]
特別注意:
1、列表內(nèi)的每個(gè)元素(數(shù)據(jù)),遵守該數(shù)據(jù)類(lèi)型的原有規(guī)則。比如字符串類(lèi)型是要加引號(hào)""
2、可以有多層嵌套,每一層嵌套為一個(gè)獨(dú)立體存在
2.列表list支持什么數(shù)據(jù)類(lèi)型
name
= “l(fā)ike” 字符串Str
age
= 18 整數(shù) Int
height
=1.74 浮點(diǎn)Float
is_yes
=True 布爾Bool
pets
=[“牛”,“虎”,“兔”] 列表List
work_cities
= (“北京”,“上海”,“廣州”) 元組Tuple
teacher
={“姓名”:“張三”} 字典Dict
3.列表list的基本特性
增加 :支持空列表創(chuàng)建 、支持列表數(shù)據(jù)更新(添加)
刪除 :支持列表整體刪除、支持列表元素刪除、支持切片刪除
修改:支持列表數(shù)據(jù)修改(基于下標(biāo)、索引、index)
查詢(xún):支持列表數(shù)據(jù)查詢(xún)(基于下標(biāo)、索引、index)、支持切片查詢(xún)、支持第一級(jí)元素長(zhǎng)度統(tǒng)計(jì)(len)
personal_info= ['張三',"男"] #列表基本操作 #增加數(shù)據(jù) personal_info.append(18) 最后一位追加>>>['張三',"男",18] personal_info.insert(1,1.80) 基于索引位置插入數(shù)據(jù)>>>['張三',1.80,"男",18] #修改數(shù)據(jù) personal_info[1] = 1.90 基于索引位置修改數(shù)據(jù)>>>['張三',1.90,"男",18] personal_info[2:4] = ["女",19] 基于索引范圍修改數(shù)據(jù)>>>['張三',1.90,"女",19] #查詢(xún)數(shù)據(jù) personal_info[1] 基于索引位置修改數(shù)據(jù)>>> 1.90 personal_info[2:4] 基于索引范圍修改數(shù)據(jù)>>>["女",19] #刪除數(shù)據(jù) personal_info.pop(1) 基于索引刪除數(shù)據(jù)>>>['張三',"女",19] personal_info.remove(19) 基于值刪除數(shù)據(jù)>>>['張三',"女"] del personal_info[0:2] 基于索引位置刪除>>>[] personal_info.clear() 清空全部列表元素>>>[] del personal_info 刪除整個(gè)列表>>>[] *特別注意 1、修改數(shù)據(jù)和查詢(xún)數(shù)據(jù)”一線(xiàn)間“ 2、圈定范圍修改列表數(shù)據(jù)時(shí),需要保證添加的數(shù)據(jù)為可迭代對(duì)象 3、注意pop()默認(rèn)為刪除最后一位,可指定索引位置,并返回被刪除的值 4、remove()基于值/數(shù)據(jù)刪除數(shù)據(jù),刪除的是第一個(gè)匹配的數(shù)據(jù),并非所有 #列表合并 num_1 =[1,2,3] num_2 =[5,6,7,8] num_sum =num_1 + num_2 >>>[1,2,3,5,6,7,8] num_1.extend(num_2) 特別注意 extend()會(huì)改變當(dāng)前變量?jī)?nèi)的值>>>[1,2,3,5,6,7,8] #列表排序 num_sum =num_2 + num_1 >>>[5,6,7,8,1,2,3,] num_sum.sort() 正序>>>[1,2,3,5,6,7,8] num_sum.sort(reverse = True) 倒序>>>[8,7,6,5,3,2,1] sort()會(huì)直接改變當(dāng)前變量?jī)?nèi)的值 #列表反轉(zhuǎn) msg = ['好',"好","學(xué)","習(xí)"] msg.reverse() >>>["習(xí)","學(xué)","好","好"] #元素?cái)?shù)據(jù)統(tǒng)計(jì) msg.count("好") >>>2 #自身復(fù)制 msg = msg * 2 msg>>>['好',"好","學(xué)","習(xí)",'好',"好","學(xué)","習(xí)"] #列表的長(zhǎng)度 len(msg) >>>8 #列表的復(fù)制 num = [[1,2,3],[6,7]] id(num) >>> 4567867877 id(num[0]) >>> 4598080890 (同) #淺復(fù)制 num_X = num.copy() id(num_X) >>> 4567867800 id(num_X[0]) >>> 4598080890 (同) #深復(fù)制 import copy num_Y = copy.deepcopy(num) id(num_Y) >>> 4567867800 id(num_Y[0]) >>> 4598080999 (不同) #包含關(guān)系判斷 msg = ["好","好",'學(xué)','習(xí)'] "習(xí)" in msg >>>True 僅支持當(dāng)前層級(jí)判斷 #切片延申 num = [0,1,2,3,4,5,6,7,8,9] num[0:10:2] [起,止,步長(zhǎng)] >>>[0,2,4,6,8] 類(lèi)似于for循環(huán)中的range()函數(shù) num[::2] >>>[0,2,4,6,8] 特別注意 起止不設(shè)定默認(rèn),為從頭到尾的范圍 #list在程序中的書(shū)寫(xiě) #單列表 list = ["哈士奇","薩摩","柴犬","泰迪"] 列表這個(gè)數(shù)據(jù)類(lèi)型的性質(zhì)決定了它通常內(nèi)部存在數(shù)據(jù)比較長(zhǎng),書(shū)寫(xiě)的時(shí)候會(huì)超出屏幕邊界,所以可以換行: list = ["哈士奇", "薩摩", "柴犬", "泰迪" ] 注意對(duì)齊,好看清晰明了 #嵌套列表 list = [ ['拍黃瓜','大拌菜','小蔥拌豆腐'], ['白酒','啤酒','紅酒'], ['橘子','香蕉','蘋(píng)果'], ] 一組數(shù)據(jù)里有高度、有寬度可以叫做: 1、矩陣 2、二維數(shù)組 #列表與for循環(huán) #初級(jí)難度 dogs = ["哈士奇", "薩摩", "柴犬" ] for dog in dogs: print(dog) 第一次:哈士奇 第二次:薩摩 第三次:柴犬 #中級(jí)難度 menus = [ ['拍黃瓜','大拌菜','小蔥拌豆腐'], ['白酒','啤酒','紅酒'], ['橘子','香蕉','蘋(píng)果'], ] for menu in menus: print(menu) 第一次:['拍黃瓜','大拌菜','小蔥拌豆腐'] 第二次:['白酒','啤酒','紅酒'] 第三次:['橘子','香蕉','蘋(píng)果'] #高級(jí)難度 menus = [ ['拍黃瓜','大拌菜','小蔥拌豆腐'], ['白酒','啤酒','紅酒'], ['橘子','香蕉','蘋(píng)果'], ] for menu in menus: print(menu) for food in menu: print(food) 第一次:['拍黃瓜','大拌菜','小蔥拌豆腐'] 內(nèi)循環(huán)第一次:'拍黃瓜' 內(nèi)循環(huán)第二次:'大拌菜' 內(nèi)循環(huán)第三次:'小蔥拌豆腐' 第二次:['白酒','啤酒','紅酒'] 內(nèi)循環(huán)第一次:'白酒' 內(nèi)循環(huán)第二次:'啤酒' 內(nèi)循環(huán)第三次:'紅酒' 第三次:['橘子','香蕉','蘋(píng)果'] 內(nèi)循環(huán)第一次:'橘子' 內(nèi)循環(huán)第二次:'香蕉' 內(nèi)循環(huán)第三次:'蘋(píng)果'
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。