day004 list、tuple、range
阿新 • • 發佈:2018-11-21
一、列表(list)
1、介紹
* 能裝物件的物件(類似於書包),有順序(按照我們新增的順序)
* 用[] 表示,可以放任意資料,每個元素用逗號( ,)隔開
* 同樣用索引和切片
索引
lst[0] # 獲取第一個元素
可以修改,lst[3] = "一個人"
切片
lst[0: 3] # 切片0到2,步長預設為1
lst[2: : -1] # 倒著切片,用步長為-1控制
2、列表的增刪改查
1、增加, 因為list可變所以直接在原來物件上操作
lst = [11, 22, 33,] lst.append("wusir") # 將"wusir"新增到list的末尾 lst.insert[1, "劉德華") # 指定位置插入元素,原來的元素向後移一位 lst.extend(可迭代物件) # 迭代新增,在原list末尾迭代新增
2、刪除
lst.pop() # 預設刪除最後一個
lst.pop(2) # 指定刪除2號元素
lst.remove('捅破天') # 刪除指定元素, 如果是不存在的元素會報錯
lst.clear() # 清空list
del lst[1: 3] # 切片刪除
3、修改
lst[1] = "太汙" # 把1號元素修改成太汙
lst[1: 4: 3] = ["馬虎疼", "歐哈依"] # 切片修改也行,如果步長不是1,要注意,元素個數
lst[1: 4] = ["一天天"] # 切片如果沒有步長或步長為1,則不用關心個數
4、查詢, 列表是一個可以迭代物件,所以可以進行for迴圈
for e2 in lst:
print(e2) # 輸出每一個元素
5、其他操作
1、查詢出現次數 count
c = lst.count("太白") # 查詢太白出現的次數
2、排序 sort
lst.sort() # 排序,預設升序
lst.sort(reverse = True) # 降序
3、翻轉元素順序(倒序) reverse
lst.reverse() # 將[1, 3, 2, 4] --> [4, 2, 3, 1]
4、列表長度
len(lst) # 計算列表的長度
5、查詢索引 index
lst.index(元素) # 通過元素查詢索引
3、列表的巢狀
採用降維操作,一層一層的看就好
lst = [1, "太白", "wusir", ["馬虎疼", ["可口可樂"], "王林"]]
print(lst[2]) # 找到"wusir"
print(lst[1: 3] # 找到太白和wusir
print(lst[1][1]) # 列印太白的白字
# 將 wusir拿到,然後首字母大寫,再輸入列表
二、元組和元組巢狀 tuple
tuple: 只讀列表
由 () 組成 特點: 不可變,
如果只有一個元素,末尾要加 , 不然不是tuple
不可變:指的是元組內部第一層元素的記憶體地址不可變
索引
print(tu[2])
切片
print(tu[2: 5]) # 切片後還是元組
for 迴圈遍歷元組
for el in tu:
print(el)
嘗試修改元組
tu = ("水牛", "哈哈哈", [], "呵呵")
***錯誤的修改***
tu[1] = '馬蜂'
#報錯 TypeError: 'tuple' object does not support item assignment
tu[2].append("麻將臺") # 不可變是指,子元素不可變,
子元素內部的子元素是可以變得,這個取決於元素是否為可變物件
三、 range
for num in range(10):
print(num)
for num in range(1, 10, 2):
print(num)
for num in range(10, 1, -2): # 反著來, 和切片一樣 10, 9,
print(num)