1.公共操作 # + 合併 將兩個相同類型序列進行連接 字元串、 列表、元組 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6] # * 複製 將裡面的數據進行複製 字元串、列表、元組 l1 = [1, 2, 3] prin ...
1.公共操作
# + 合併 將兩個相同類型序列進行連接 字元串、 列表、元組 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6]
# * 複製 將裡面的數據進行複製 字元串、列表、元組 l1 = [1, 2, 3] print(l1 * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# len 獲取序列長度 查看序列長度 字元串、列表、元組、字典,集合 # 返回一個int類型 print(len([1, 2, 3, 4])) # 4
# reversed 倒置 將容器裡面的數據倒置 字元串、列表、元組、字典 l1 = [1, 2, 3] print(reversed(l1)) # 是個序列 <list_reverseiterator object at 0x000001C447207040> print(list(reversed(l1))) # 可以轉換為列表 for i in reversed(l1): # 也可以for迴圈輸出 print(i)
# in,not in 是否存在 判斷數據是否存在於容器內 字元串、列表、元組、字典,集合 l1 = ['小明', '小芳'] print('小' in l1) # False print('小明' in l1) # True
# del 刪除 刪除變數或者指定容器內數據 變數,容器裡面的值 l1 = ['小明', '小芳'] del l1[0] print(l1) # ['小芳']
# max,min 最大最小值 求容器數據的最大最小值 字元串、列表、元組、字典,集合 l1 = [1, 4, 2] print(max(l1), min(l1)) # 4 1 # 字元串按ASCII碼取大取小 l2 = ['aa', 'ay', 'az'] # az aa print(max(l2), min(l2))
# sum 求和 將容器的數據求和 列表、元組、字典,集合 d = {1: 2, 2: 3} print(sum(d)) # 對字典也可操作 key值相加 l1 = [1, 3, 5, 7, 9] print(sum(l1))
# enumerate 枚舉 索引映射 將索引映射給容器裡面的數據 列表、元組、或字元串 l1 = ['a', 'b', 'c'] print(enumerate(l1)) # 是個序列 # 要麼轉換成常見數據類型,要麼for迴圈 print(list(enumerate(l1))) # 不寫start預設索引從0開始 for index, data in enumerate(l1, start=5): # 索引從5開始 print(index, data)
2.列表推導式
# 普通寫法 # 創建列表 迴圈數據 添加數據 沒有其他操作 list_data = [] for i in range(10): list_data.append(i) print(list_data) # 推導式寫法 不是所有的代碼都可以寫成推導式 # 推導式只有一種固定的操作 # 創建列表 [] # 迴圈數據 for i in range(10) # 添加數據 i list_data = [i for i in range(10)] print(list_data) # print([i for i in range(10)])
# 普通寫法 # 創建列表 迴圈數據 添加數據 沒有其他操作 list_data = [] for i in range(10): list_data.append(str(i*2)) print(list_data) # 推導式寫法 # 創建列表[] # 迴圈列表 for i in range(10) # 添加數據 i*2 print([str(i*2) for i in range(10)])
# 普通寫法 # 創建列表 迴圈數據 添加數據位置永遠在最前面 list_data = [] for i in range(10): if i%2 == 0: list_data.append(i) print(list_data) # [0, 2, 4, 6, 8] # 推導式寫法 # 創建列表 [] # 迴圈數據 for i in range(10) # 添加數據位置永遠在最前面 i # if放後面 if i%2 == 0 print([i for i in range(10) if i%2 == 0])
# 普通寫法 # 創建列表 迴圈數據 添加數據位置永遠在最前面 list_data = [] for i in range(10): if i%2 == 0: if i%3 == 0: list_data.append(i) print(list_data) # [0, 6] # 推導式寫法 # 創建列表 [] # 迴圈數據 for i in range(10) # 添加數據位置永遠在最前面 i # if放後面 if i%2 == 0 if i%3 == 0 print([i for i in range(10) if i%2 == 0 if i%3 == 0])
3.三元表達式
# 3.三元表達式 # 一元 not not True # 二元 + # 普通寫法 age = 20 if age>18: print('成年') else: print('未成年') # 三元表達式 # 判斷寫中間 if age>18 else # 滿足條件後的結果寫前面 print('成年') # 不滿足條件後的結果寫後面 print('未成年') print('成年') if age>18 else print('未成年')
# 普通寫法 age = 20 if age>18: data = 1 else: data = 0 print(data) # 三元表達式寫法 # 判斷寫中間 if age>18 else # 滿足寫前面 1 不是data=1 # 不滿足寫後面 0 不是data=0 # 註意和上面有一些不同! # data = 1 if age>18 else 0 data = 1 if age>18 else 0 print(data)
# 普通寫法 list_data = [] for i in range(10): if i%2 == 0: list_data.append(i) else: list_data.append(str(i)) print(list_data) # 三元表達式和列表推導式一起寫 # 創建列表 [] # 迴圈列表 for i in range(10) # 添加數據位置永遠在最前面 i if i%2 == 0 else str(i) # 註意添加的數據不是i,是i和str(i)中的一個 # list_data = [i if i%2 == 0 else str(i) for i in range(10)] list_data = [(i if i%2 == 0 else str(i)) for i in range(10)] # 利用小括弧來增加一點可讀性 print(list_data)
# 請用列表推導式完成1到100(不包括1和100)內所有奇數的和 # 列表推導式寫法 list_data = [i for i in range(2, 100) if i%2 == 1] print(sum(list_data)) # 普通寫法 list_data = [] for i in range(2, 100): if i%2 == 1: list_data.append(i) print(sum(list_data))