python學習-數字和列表
數字運算子:加(+)減(-)乘(*)除(/)乘方(**)
函式str():讓python將非字串值轉換為字串:
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)
列表
列表是由一系列按特定順序排列的元素組成,可將任意東西加入列表中
- 在Python中,用方括號([ ] )來表示列表,並用逗號來分隔其中的元素
- 訪問列表元素:
bicycles = ['trek', 'cannondale', 'redline', 'specialized'] ❶
print(bicycles[0])
- 列表的索引從0開始
- Python為訪問最後一個列表元素提供了一種特殊語法。通過將索引指定為-1 ,可讓Python返回最後一個列表元素
- 修改新增或刪除元素:
motorcycles[0] = 'ducati'
print(motorcycles)
-
在列表中新增新元素
在列表末尾新增元素:motorcycles.append(‘ducati’) -
在列表中插入元素
使用方法insert() 可在列表的任何位置新增新元素。為此,你需要指定新元素的索引和值。
motorcycles.insert(0, ‘ducati’) #在0位置插入‘ducati’ -
從列表中刪除元素
使用del 語句刪除元素:del motorcycles[0]
使用del 可刪除任何位置處的列表元素,條件是知道其索引
使用del 語句將值從列表中刪除後,你就無法再訪問它了。
有時候,你要將元素從列表中刪除,並接著使用它的值。
使用方法pop() 刪除元素,方法pop() 可刪除列表末尾的元素,並讓你能夠接著使用它。術語彈出 (pop)源自這樣的類比:列表就像一個棧,而刪除列表末尾的元素相當於彈出棧頂元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
實際上,你可以使用pop() 來刪除列表中任何位置的元素,只需在括號中指定要刪除的元素的索引即可。
如果你不確定該使用del 語句還是pop() 方法,下面是一個簡單的判斷標準:如果你要從列表中刪除一個元素,且不再以任何方式使用它,就使用del 語句;如果你要在刪除元素後還能繼續使用它,就使用方法pop()
根據值刪除元素:有時候,你不知道要從列表中刪除的值所處的位置。如果你只知道要刪除的元素的值,可使用方法remove() 。
motorcycles.remove(‘ducati’)
方法remove() 只刪除第一個指定的值。如果要刪除的值可能在列表中出現多次,就需要使用迴圈來判斷是否刪除了所有這樣的值。
9. 組織列表
在你建立的列表中,元素的排列順序常常是無法預測的,因為你並非總能控制使用者提供資料的順序。這雖然在大多數情況下都是不可避免的,但你經常需要以特定的順序呈現資訊。有時候,你希望保留列表元素最初的排列順序,而有時候又需要調整排列順序。Python提供了很多組織列表的方式,可根據具體情況選用。
使用方法sort() 對列表進行永久性排序:預設由小到大排序,如果需要由大到小,需要使reverse=True:cars.sort(reverse=True)
使用函式sorted() 對列表進行臨時排序:要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函式sorted() 。函式sorted() 讓你能夠按特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。呼叫函式sorted() 後,列表元素的排列順序並沒有變。如果你要按與字母順序相反的順序顯示列表,也可向函式sorted() 傳遞引數reverse=True 。
-
倒著列印列表
cars.reverse()
reverse() 不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序:
方法reverse() 永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,為此只需對列表再次呼叫reverse() 即可。 -
確定列表的長度
使用函式len() 可快速獲悉列表的長度。
注意 Python計算列表元素數時從1開始,因此確定列表長度時,你應該不會遇到差一錯誤。但是索引是從0開始
操作列表
1.遍歷整個列表
你經常需要遍歷列表的所有元素,對每個元素執行相同的操作。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
編寫for 迴圈時,對於用於儲存列表中每個值的臨時變數,可指定任何名稱。然而,選擇描述單個列表元素的有意義的名稱大有幫助。如:
for cat in cats:
for dog in dogs:
for item in list_of_items:
這些命名約定有助於你明白for 迴圈中將對每個元素執行的操作。使用單數和複數式名稱,可幫助你判斷程式碼段處理的是單個列表元素還是整個列表。
建立數值列表
1.Python函式range() 讓你能夠輕鬆地生成一系列的數字。
for value in range(1,5):
print(value) #列印1-4
2.使用range() 建立數字列表
要建立數字列表,可使用函式list() 將range() 的結果直接轉換為列表。如果將range() 作為list() 的引數,輸出將為一個數字列表。
numbers = list(range(1,6))
使用函式range() 時,還可指定步長,range(首,尾,步長)
使用函式range() 幾乎能夠建立任何需要的數字集
對數字列表執行簡單的統計計算
>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45
列表解析
列表解析:將for 迴圈和建立新元素的程式碼合併成一行,並自動附加新元素
squares = [value**2 for value in range(1,11)]
print(squares)
要使用這種語法,首先指定一個描述性的列表名,如squares ;然後,指定一個左方括號,並定義一個表示式,用於生成你要儲存到列表中的值。在這個示例中,表示式為value2 ,它計算平方值。接下來,編寫一個for 迴圈,用於給表示式提供值,再加上右方括號。在這個示例中,for 迴圈為for value in range(1,11) ,它將值1~10提供給表示式value2 。請注意,這裡的for 語句末尾沒有冒號。
結果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表的一部分
1.切片
要建立切片,可指定要使用的第一個元素和最後一個元素的索引。與函式range() 一樣,Python在到達你指定的第二個索引前面的元素後停止。要輸出列表中的前三個元素,需要指定索引0~3,這將輸出分別為0 、1 和2 的元素。
你可以生成列表的任何子集,例如,如果你要提取列表的第2~4個元素,可將起始索引指定為1 ,並將終止索引指定為4 :
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1:4])
如果你沒有指定第一個索引,Python將自動從列表開頭開始:
要讓切片終止於列表末尾,也可使用類似的語法。例如,如果要提取從第3個元素到列表末尾的所有元素,可將起始索引指定為2 ,並省略終止索引。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[2:])
無論列表多長,這種語法都能夠讓你輸出從特定位置到列表末尾的所有元素。本書前面說過,負數索引返回離列表末尾相應距離的元素,因此你可以輸出列表末尾的任何切片。
例如,如果你要輸出名單上的最後三名隊員,可使用切片players[-3:]
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[-3:])
上述程式碼列印最後三名隊員的名字,即便隊員名單的長度發生變化,也依然如此。
2.遍歷切片
如果要遍歷列表的部分元素,可在for 迴圈中使用切片。在下面的示例中,我們遍歷前三名隊員,並列印他們的名字:
players = [‘charles’, ‘martina’, ‘michael’, ‘florence’, ‘eli’]
print(“Here are the first three players on my team:”)
for player in players[:3]: #只遍歷前三名隊員
print(player.title())
3.複製列表
要複製列表,可建立一個包含整個列表的切片,方法是同時省略起始索引和終止索引([:] )。這讓Python建立一個始於第一個元素,終止於最後一個元素的切片,即複製整個列表。
注意:必須要這樣複製列表,不可以直接用等號。
相關文章
- Python基礎-列表操作(2):列表的遍歷和數字列表Python
- python學習之數字Python
- Python學習-初始列表Python
- Python 學習之列表Python
- Python陣列和列表的區別?Python學習教程Python陣列
- Python學習筆記 - 字串,數字Python筆記字串
- Python 學習之元組列表Python
- Python基礎學習3——列表Python
- python學習筆記:第4天 列表和元組Python筆記
- Python列表和字典有什麼不同之處?Python學習資料!Python
- Python資料型別(數字,字串,[列表],(元組),{字典:字典值},{列表,列表2})Python資料型別字串
- Python列表數字元素加權和Python字元
- Python學習之路3-操作列表Python
- python學習筆記 列表的切片Python筆記
- Python程式設計學習第八課之Python中的變數和關鍵字Python程式設計變數
- Python學習之變數、物件和引用Python變數物件
- Python基礎之:數字字串和列表Python字串
- Python學習之路2-列表介紹Python
- 【編測編學】零基礎學python_10_列表(建立數值列表 )Python
- Python學習筆記8——列表、字典、元組Python筆記
- 零基礎學習 Python 之數字與運算Python
- Python學習-變數Python變數
- Python中列表、元組、字典有何區別?Python學習!Python
- Python3學習-(基本資料型別-列表)Python資料型別
- 【編測編學】零基礎學python_06_列表(認識和使用列表)Python
- Python的集合與列表有什麼區別?Python學習教程Python
- python元組和列表Python
- Python零基礎學習筆記(十五)——list(列表)Python筆記
- JAVA基礎學習-數字與字串學習總結Java字串
- Python學習筆記 - 變數Python筆記變數
- python學習----水仙花數Python
- Python學習之引數(一)Python
- python學習:變數與字串Python變數字串
- Python學習中最常見的10個列表操作問題Python
- python006 列表練習題Python
- 基礎練習——python特殊的數字——2020.11.17Python
- 使用CSS計數器美化數字有序列表CSS
- Python基礎學習篇-2-數值運算和字串Python字串