python学习详解_Python学习入门到精通:Python列表讲解
列表導讀
從列表開始,我們將陸續學習元組,集合,字典這4中容器類型數據。容器類型數據,只是望文生義,你大概能夠猜測出這4種數據類型的作用,他們如同容器一樣,可以存儲int,float,bool,str。每一種容器類型數據都有各自的存儲方式和要求,因此,他們適用于不同的場景。
什么是列表?
在講解列表之前,我們先做一個簡單的智力測驗,我每天給你一個小球,每個小球都一模一樣,且不允許你做任何標記,在第100天的時候,我要求你拿出來我第35天給你的那個小球,請你思考,你該如何存放小球,才能保證我說出天數,你拿出天數所對應的小球。
稍動一下腦筋,你就應該可以想出方法來,所有的小球都按順序排放,第1天的小球排第1位,第2天的小球排第2位,以此類推,那么當我要求你找出第35天給你的小球時,你需要做的是從第1個小球開始數數,數到35時,這個小球就是我想要的。
列表的數據存儲與訪問與剛才所講的小球擺放有著相同的道理,一切只與順序有關,提到順序,是不是想到了有序,是不是想到了索引?沒錯,列表里也有索引的概念,列表是數據的有序集合。
1. 創建列表
list1 = [1, 2, 3, 4, 5 ]
list2 = [1, 2, '3', True]
list3 = [[1,2,3], True, 1]
列表里可以存放任意類型的數據,每個數據之間,用逗號分隔,整個列表被包裹在一對中括號[]里,如果你定義lst = [],[]表示一個空列表。
2. 索引的概念
列表是數據的有序集合,對于列表里數據的操作,都必須通過索引來完成,回想一下上一篇的智力測試,所有的小球按順序排放,順序就是小球的索引,你可以將索引就理解為順序,只是有一點務必牢記,計算機里的索引,或者說順序,都是從0開始的
lst = [2, 3, 5, 6]
下面這張圖很好的闡述了索引的概念
所謂正序索引,就是從左向右看,倒序索引就是從右向坐看,由左至右,從0開始遞增,從右向左,從-1開始遞減,python既支持正序索引,也支持倒序索引。
3.向列表中新增數據
向列表中新增數據有兩種方法,一個是insert,一個是append,前者需要指定插入的位置,而append則默認在列表的尾部插入數據,下面的代碼演示如何使用這兩個方法新增數據
lst = [3, 5, 8, 1, 2, 6, 9]
lst.insert(2, 22) # 將22插入到索引為2的位置上
lst.append(33) # 將33增加到列表尾部
print(lst)
下圖很好的解釋了這兩種新增方法的區別
4. 訪問列表里的數據
訪問列表里的數據,必須提供索引,假設你想輸出列表里的第0個元素,和倒數第一個元素,你應該這樣操作
lst = [3, 5, 8, 1, 2, 6, 9]
print(lst[0])
print(lst[-1])
程序輸出結果為
3
9
根據索引獲取列表里的數據,需要使用中括號[],在[]里填寫你想要獲取數據的索引,如果這個索引超出了范圍,就會報錯
lst = [3, 5, 8, 1, 2, 6, 9]
print(lst[12])
報錯內容為
Traceback (most recent call last):
File "/Users/kwsy/PycharmProjects/pythonclass/wx_monitor/main.py", line 2, in
print(lst[12])
IndexError: list index out of range
這是因為列表里根本沒有這個索引,你想要找的索引已經超出了列表索引的范圍。
5. 遍歷列表
遍歷索引,需要使用for循環,你可以寫出至少3種for循環,每一個都可以遍歷列表里所有的元素
方法1,通過索引遍歷
lst = [3, 5, 8, 1, 2, 6, 9]
for i in range(len(lst)):
print(lst[i])
方法2,通過迭代器遍歷
lst = [3, 5, 8, 1, 2, 6, 9]
for item in lst:
print(item)
方法3, 通過enumerate函數遍歷
lst = [3, 5, 8, 1, 2, 6, 9]
for index, item in enumerate(lst):
print(index, item)
關于enumerate函數,可以在內置函數章節里學習
6. 刪除列表里的元素
刪除列表里的元素有兩種方法,一種是根據索引來刪除,一種是根據值來刪除,先說根據索引刪除
根據索引刪除列表里的元素
列表的pop方法可以刪除指定索引位置上的數據
lst = [3, 4, 1, 4, 2]
lst.pop(0) # 刪除索引為0的元素
print(lst)
pop只會刪除指定索引位置的元素,程序輸出結果為
[4, 1, 4, 2]
除了使用pop方法,你還可以使用del 關鍵字
lst = [3, 4, 1, 4, 2]
del lst[0]
print(lst)
del lst[0] 等價于 lst.pop(0)
根據值刪除列表里的元素
根據值刪除,使用remove方法,remove會刪除列表里指定的值,比如你想刪除4
lst = [3, 4, 1, 4, 2]
lst.remove(4)
print(lst)
需要注意的是,remove方法一次只會刪除一個值,列表里有兩個4,它會刪除索引最小的那個4,程序輸出結果為
[3, 1, 4, 2]
7. 和列表相關的幾個重要內置函數
7.1 len,計算列表長度
len函數已經不是第一次接觸了,len函數不僅能求列表的長度,還能求字符串的長度,集合的長度,元組的長度,字典的長度,他們的用法如此統一,減輕了我們學習的難度
lst = [3, 4, 1, 4, 2]
print(len(lst))
7.2 max,返回數列的最大值
max不僅可以作用于列表,也可以作用于元組,它會返回數列里的最大值
lst = [3, 4, 1, 4, 2]
print(max(lst))
肉眼可見,4是列表的最大值,max函數返回值為4
7.3 min, 返回數列的最小值
min可以作用于列表,也可以作用于元組,它返回數列里的最小值
lst = [3, 4, 1, 4, 2]
print(min(lst))
1是列表的最小值,min函數返回值為1
7.4 sum,返回數列里所有數據的和
同樣,sum函數可以作用于列表,也可以作用于元組,它返回數列里所有數的總和
lst = [3, 4, 1, 4, 2]
print(sum(lst))
列表里所有元素的總和是14,這正是sum函數的返回值
8. 列表操作符
操作符
功能作用
+
連接兩個列表
*
重復列表內容
in
成員操作符,判斷某個數據是否在列表中
not in
成員操作符,判斷某個數據是否在列表中
列表對 + 和 * 的操作符與字符串相似,現在,在交互式解釋器里跟隨我一起操作
>>> lst1 = [1, 2, 3]
>>> lst2 = [4, 5, 6]
>>> lst1 + lst2
[1, 2, 3, 4, 5, 6]
>>> lst1*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 3 in lst1
True
>>> 4 not in lst2
False
初學者對Python開發的概念都是模糊不清的,Python開發能做什么,學的時候該按照什么線路去學習,學完往哪方面發展?
想深入系統了解Python開發可以掃碼加我微信號,免費領取開發工具、學習資料,還有專業的老師在線免費直播分享答疑!
從基礎到項目實戰全方面帶你學習Python開發,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!
總結
以上是生活随笔為你收集整理的python学习详解_Python学习入门到精通:Python列表讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 锁表如何查看_【赵强老师】
- 下一篇: python创建变量过程_Python