組織列表(包含迴圈)
阿新 • • 發佈:2022-03-23
迴圈——遍歷整個列表
迴圈,讓計算機自動完成重複工作的常見方式之一。
比如
magicians = ['alice', 'david', 'carolina'] #magician 作為與列表中的元素相關聯的臨時變數, # 當然也可以是其他的變數名, 比如 i、j 等,不過這種變數不易被理解 for magician in magicians: #對於此處,只要列表中還有元素迴圈就不會終止 print(magician) #此處也可以使用f字串,.title(), .upper()等操作 print(f"hello {magician}!") magician.upper() #注意此處只是對臨時變數操作斌沒有影響到列表中的元素 ,這個應該通過索引來,不過需要計數器 #for迴圈管到又縮排的最下一行 #像下面這一行就不會被迴圈 print("hello") print(magicians) #這個會反映了第七行並沒有影響到列表本身
在for迴圈後沒有縮排的程式碼只執行一次,所以要注意好縮排,
當然也不能忘記for迴圈後面的冒號,如果沒有就會語法錯誤執行不了
建立數值列表
使用range方法
for value in range(1, 5): #這裡只會取到4,並不會取到5
print(value)
如果使用range與預期不符合,嘗試對範圍進行加一或者減一
用range建立列表
numbers = list(range(1,5)) print(numbers) #注意少了list 可能輸出的是這樣的 objects = range(1, 4) print(objects) #range 函式還可以指定步長 even_numbers = list(range(2, 11, 2)) # 從 2 開始數 步長為 2(也就是每次加 2 ), 數到 10 print(even_numbers) #當然還可以與 for 迴圈配合 range squares = [] # 建立空列表 for value in range(1, 4): # 1 ~ 3 value = value ** 2 # ** 表示平方 squares.append(value) # 或者 使用 squares.append(values ** 2) 代替上面兩行 print(squares)
對資料列表執行簡單的統計運算
digits = [1, 100, -10, 2.2, 3, 1, 2]
print(min(digits)) # 求列表中的最小值
print(max(digits)) # 求最大值
print(sum(digits)) # 求列表中數的總和
列表解析——有點騷操作
squares = [value ** 2 for value in range(1, 5)]
# 使用這種方式建立的列表就跟簡潔, 4 行變 1 行
print(squares)
切片
切片操作
players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[1: 4]) # 列印第二個到第4個元素 # 上面這種方式 需要有冒號 # 不指定起始點,預設從開頭開始 print(players[:2]) # 前兩位 # 同樣也可以不指定結尾, 預設從結尾開始 print(players[1:]) print(players [:]) # 當然可以使用負值索引 print(players[: -2]) print(players[-3:]) # 列印最後三個運動員
遍歷切片
也就遍歷部分列表
players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[ : 3]:
print(player)
複製列表
其實就是是使用沒有首索引和尾索引的切片,切記等號是行不通的
my_favorite_foods = ['pizza', 'cake', 'apple']
friend1_favorite_foods = my_favorite_foods[:]
print(my_favorite_foods)
print(friend1_favorite_foods)
friend2_favorite_foods = my_favorite_foods
print(friend2_favorite_foods)
# 上面這種方式雖然輸出沒什麼變化, 但是其實就是用另一個變數指向同一個地址
#用下面這種方式就可以檢驗出來
my_favorite_foods.append("ice icream")
print(friend2_favorite_foods)
元組
定位元組
元組是不可變的列表,強行修改元組的元素會報錯
用圓括號來標識,但仍然使用方括號和索引訪問
dimensions = (50, 200)
print(dimensions[0])
嚴格意義上元組是通過逗號標識,並沒有圓括號
dimensions = 50, 200
print(dimensions[0])
# 如果元組只有一個元素時, 就一定需要圓括號來標識
my_list = (3, )
print(my_list[0])
修改元組元素的報錯提示
dimensions = (50, 200)
dimensions[1] = 0
修改元組變數(注意不是元組中的元素)
dimensions = (50, 200)
for dimension in dimensions:
print(dimension)
print()
dimensions = (20, 90)
for dimension in dimensions:
print(dimension)