python學習-數字和列表

weixin_43976891發表於2020-12-23

數字運算子:加(+)減(-)乘(*)除(/)乘方(**)
函式str():讓python將非字串值轉換為字串:

age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

列表
列表是由一系列按特定順序排列的元素組成,可將任意東西加入列表中

  1. 在Python中,用方括號([ ] )來表示列表,並用逗號來分隔其中的元素
  2. 訪問列表元素:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles[0])
  1. 列表的索引從0開始
  2. Python為訪問最後一個列表元素提供了一種特殊語法。通過將索引指定為-1 ,可讓Python返回最後一個列表元素
  3. 修改新增或刪除元素:
motorcycles[0] = 'ducati'
print(motorcycles)
  1. 在列表中新增新元素
    在列表末尾新增元素:motorcycles.append(‘ducati’)

  2. 在列表中插入元素
    使用方法insert() 可在列表的任何位置新增新元素。為此,你需要指定新元素的索引和值。
    motorcycles.insert(0, ‘ducati’) #在0位置插入‘ducati’

  3. 從列表中刪除元素
    使用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 。

  1. 倒著列印列表
    cars.reverse()
    reverse() 不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序:
    方法reverse() 永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,為此只需對列表再次呼叫reverse() 即可。

  2. 確定列表的長度
    使用函式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建立一個始於第一個元素,終止於最後一個元素的切片,即複製整個列表。
注意:必須要這樣複製列表,不可以直接用等號。

相關文章