?前言
本篇博客為填坑篇,這個系列的上一篇竟然是2021年的9月30更新的,離譜,差點就到斷更兩周年紀念日了,后續(xù)逐漸走向填坑的每一天,繼續(xù)創(chuàng)作,希望這個系列的專欄文章能幫助到更多有需要的人。
列表
什么是列表??
隨便寫一個: class(列表名) = (賦值) ['高一四班','高二八班','高三六班'](外部是中括號,用逗號隔開)。
一個列表需要用中括號[ ]
把里面的各種數據框起來,里面的每一個數據叫作“元素”。每個元素之間都要用英文逗號隔開。
這就是列表的標準格式,現在請創(chuàng)建一個列表名為list1的列表,列表里有三個元素:'啤酒鴨',18,1.75
,并將其打印出來:
list1=['啤酒鴨',18,1.75]
print(list1)
列表很包容,各種類型的數據(整數/浮點數/字符串)無所不能包。
取出列表里具體的某一個元素
但問題來了,如果只想取出列表里具體的某一個元素該怎么辦呢?
這就涉及到一個新的知識點:偏移量。列表中的各個元素,好比教室里的某排學生那樣,是有序地排列的,也就是說,每個元素都有自己的位置編號(即偏移量)。
從上圖可得:1.偏移量是從0開始的,而非從1開始;2.列表名后加帶偏移量的中括號,就能取到相應位置的元素。
所以,可以通過偏移量來對列表進行索引(可理解為搜索定位),讀取我們所需的元素。
在【‘啤酒鴨’,'DD','回眸','咸蛋超人'】里取出啤酒鴨這個元素的代碼是怎么樣的呢?
students = ['咸蛋超人','啤酒鴨','DD','回眸']
print(students[1])
?從列表提取多個元素
list2 = [5,6,7,8,9]
print(list2[:])
print(list2[2:])
print(list2[:2])
print(list2[1:3])
print(list2[2:4])
用冒號來截取列表元素的操作叫作切片,顧名思義,就是將列表的某個片段拿出來處理。這種切片的方式可以從列表中取出多個元素。
冒號左邊空,就要從偏移量為0的元素開始??;右邊空,就要取到列表的最后一個元素。后半句:冒號左邊數字對應的元素要拿,右邊的不動
速記:左右空取到頭,左要取,右不取。
students = ['啤酒鴨','回眸','嚴啤啤','啤雅雅']
print(students[:3])
?給列表增加/刪除元素
增加元素:
append函數并不生成一個新列表,而是讓列表末尾新增一個元素。而且,列表長度可變,理論容量無限,所以支持任意的嵌套。
students = ['小明','小紅','小剛']
students.append('小美')
print(students)
使用append 添加元素可以將新元素添加到鏈表里。
刪除元素:
del語句非常方便,可以刪除一個元素,也能一次刪除多個元素(原理和切片類似,左取右不取)。
語法是:del 列表名[元素的索引]
students = ['小明','小紅','小剛','小美']
del students[1:2]
print(students)
運行的結果是發(fā)現小紅刪了。
字典
這次期中考呢、,小啤、小眸、小嚴分別考了95、90和90分。
假如還用列表來裝數據的話,需要新創(chuàng)建一個列表來專門放分數,而且要保證和姓名的順序是一致的,很麻煩。所以類似這種名字和數值(如分數、身高、體重等)兩種數據存在一一對應的情況,用第二種數據類型——“字典”(dictionary)來存儲會更方便。
students = ['小啤','小眸','小嚴']
scores = {'小啤':95,'小眸':90,'小嚴':90}
print(len(scores))
scores(字典名) = {'小啤'(鍵):95(值),'小眸':90,'小嚴':90}(大括號)
列表中的元素是自成一體的,而字典的元素是由一個個鍵值對構成的,用英文冒號連接。如'小啤':95
,其中我們把'小啤'
叫鍵(key),95
叫值(value)。
這樣唯一的鍵和對應的值形成的組合,我們就叫做【鍵值對】,上述字典就有3個【鍵值對】:'小啤':95
、'小眸':90
、'小嚴':90
如果不想口算,可以用len()函數來得出一個列表或者字典的長度(元素個數),括號里放列表或字典名稱。
這里需要強調的是,字典中的鍵具備唯一性,而值可重復。
如果你不小心聲明了兩個以'小啤'
為鍵的【鍵值對】,后出現的【鍵值對】會覆蓋前面的【鍵值對】。打印出的值也會以后面一個為準。
這便是從字典中提取對應的值的用法。和列表相似的是要用[ ]
,不過因為字典沒有偏移量,所以在中括號中應該寫鍵的名稱,即字典名[字典的鍵]。
如果想取出小啤的成績的值,可以運行下面的代碼?
scores = {'小啤':95,'小眸':90,'小嚴':90}
print(scores['小啤'])
字典的刪改
刪除字典里鍵值對的代碼是del語句del 字典名[鍵]
,而新增鍵值對要用到賦值語句字典名[鍵] = 值
。
scores = {'小啤':95,'小眸':90,'小嚴':90}
del scores['小嚴']
scores['小嚴']=92
scores['小菜']=85
print(scores)
列表和字典的異同
差異
列表中的元素是有自己明確的“位置”的,所以即使看似相同的元素,只要在列表所處的位置不同,它們就是兩個不同的元素。
而字典相比起來就顯得隨和很多,調動順序也不影響。因為列表中的數據是有序排列的,而字典中的數據是隨機排列的。
這也是為什么兩者數據讀取方法會不同的原因:列表有序,要用偏移量定位;字典無序,便通過唯一的鍵來取值。
共同點
在列表和字典中,如果要修改元素,都可用賦值語句來完成
第二個共同點即支持任意嵌套。除之前學過的數據類型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。
練手demo
練習目標:
我們會通過今天的作業(yè),更熟練地取出層層嵌套中的數據,并了解一種新的數據類型:元組。
練習要求:
我們知道了列表和字典的不同:列表的基本單位是元素,而字典里是鍵值對。所以,兩者提取數據的方式也不同。
你可以通過頭兩個練習來驗證自己已經掌握了。
而在第三道練習,你會學會提取元組里的數據。
1、請你通過所學知識,把列表list1中的'love'取出來,并打印出來。
2、請你通過所學知識,把字典dict1中的'love'取出來,并打印出來。文章來源:http://www.zghlxwxcb.cn/news/detail-477821.html
3、下面,介紹一種新的數據類型:元組(tuple)。 可以看到:元組和列表很相似,不過,它是用小括號來包的。
元組和列表都是序列,提取的方式也是偏移量,如 tuple1[1]、tuple1[1:]。另外,元組也支持任意的嵌套。
請你根據以上提供的信息,將tuple1中的A和list2中的D打印出來??吹搅?,理解了,運用了,就能夠掌握了。文章來源地址http://www.zghlxwxcb.cn/news/detail-477821.html
到了這里,關于【回眸】Python入門(五)基礎語法&&列表和詞典:Python如何消滅重復性勞動的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!