python全棧開發-第四天
python_day_4
今日大綱:
1. list(增刪改查)
列表可以裝大量的數據. 不限制數據類型. 表示方式:[] 方括號中的每一項用逗號隔開
列表和字符串一樣.也有索引和切片
常用的功能:
- 增: append()
- 刪:remove()
- 改: 索引修改
- 查: for循環
常用方法:
- len()
- count()
- sort() 排序
2. list的嵌套
降維操作
3. tuple 元組
不可變的列表. 只讀列表. 有索引和切片.
不可變的是它內部子元素. 如果子元素是列表. 列表中的元素是可以變的.
4. range()
數數
有一個參數:結束為止
兩個參數: 1. 起始位置, 2.結束位置
三個參數: 1. 起始位置, 2. 結束位置. 3.步長
04. 萬惡之源-基本數據類型(list,tuple)
本節主要內容:
- 列表
- 列表的增刪改查
- 列表的嵌套
- 元組和元組嵌套
- range
?. 列表
1.1 列表的介紹
列表是python的基礎數據類型之? ,其他編程語?也有類似的數據類型. 比如JS中的數
組, java中的數組等等. 它是以[ ]括起來, 每個元素?‘ , ‘隔開?且可以存放各種數據類型:
lst = [1, "周傑倫", True, False, ["可口可樂", "雪碧", "芬達"] ] print(lst)
列表相比於字符串. 不僅可以存放不同的數據類型. ?且可以存放?量的數據. 32位
python可以存放: 536870912個元素, 64位可以存放: 1152921504606846975個元素.?且列
表是有序的(按照你保存的順序),有索引, 可以切??便取值.
2.2 列表的索引和切片
列表和字符串?樣也擁有索引,包括切片:
lst = ["大陽哥", "趙明傑", "UZI", "賽利亞", "克倫特", "梅西", "哈登"] print(lst[3]) print(lst[1:3]) print(lst[-1::-2]) #-1 - 從右往左. 1 : 一個一個取
?. 列表的增刪改查
1. 增, 註意, list和str是不?樣的. lst可以發?改變. 所以直接就在原來的對象上進?了操
作
# 1. 列表的增加 lst = ["周傑倫", "王力宏", "周潤發"] lst.append("伍佰") # 向列表中添加一個元素, 元素放在末尾. 把一個元素追加到列表的末尾 print(lst) lst.append("周星星") print(lst)] lst.insert(1, "馬化騰") # 把元素插入到指定位置. 元素的移動 print(lst) lst.extend(["馬雲", "王健林", "李嘉誠"]) # 叠代添加 print(lst) #錄入姓名 lst = [] while 1: name = input("請輸入學生的名字") if name.upper() == "Q": break else: lst.append(name) # 把名字添加到列表 print(lst)
2. 刪除
pop, remove, clear, del
# 刪除 lst = ["蓋倫", "大白梨", "提莫", "大白梨"] # 1. pop() e = lst.pop() # 返回刪除的元素, 刪除最後一個 print(e) print(lst) e = lst.pop(1) # 根據給出的索引進行刪除 print(e) print(lst) # 2. remove(元素) lst.remove("大白梨") lst.remove("大白梨") print(lst) # 3. del 刪除 切片刪除 delete del lst[1:] print(lst) # 4. clear 清空 lst.clear() print(lst)
3. 修改
索引切片修改
# 修改 # 索引修改 lst = ["太白", "五色", "銀王", "日天"] lst[0] = "太黑" print(lst) lst[2] = "銀角大王" print(lst) # 切片修改 lst[1:3] = "馬化騰" # 叠代修改 print(lst) lst[1:3] = ["周傑倫", "他媳婦", "王力宏媳婦"] print(lst) # 查詢 lst = ["舒克貝塔", "黑貓警長", "熊大熊二", "葫蘆娃", "吳佩琪"] for el in lst: # element print(el)
4. 查詢, 列表是?個可叠代對象, 所以可以進?for循環
for el in lst: print(el)
5. 其他操作
# 常用操作 #出現的次數 lst = ["王尼瑪", "我記著你", "偉哥", "放學天臺見","王尼瑪", "王尼瑪"] print(len(lst)) print(lst.count("王尼瑪")) #排序 lst = [1, 9, 18, 2 , 34, 88, 7, 9] lst.sort() # 升序 lst.sort(reverse=True) # 倒序 print(lst)
三. 列表的嵌套
采?降維操作.?層?層的看就好.
lst = [1, "太白", "wusir", ["麻花疼", ["可口可樂"], "王劍林"]]
四. 元組和元組嵌套
元組: 俗稱不可變的列表.?被成為只讀列表, 元組也是python的基本數據類型之?, ??括
號括起來, ??可以放任何數據類型的數據, 查詢可以. 循環也可以. 切片也可以. 但就是不能
改.
#類型是否為元組 lit = (1, "花生", "山藥") print(type(lit)) #元組中如果只有?個元素. ?定要添加?個逗號, 否則就不是元組 tu = (1, ) # 需要添加一個逗號 print(type(tu)) tu = (‘DNF‘, "LOL", "CF", "鬥地主", "消消樂") print(tu[2:]) tu[2] = "王者榮耀" # 嘗試著修改 不能改, 會報錯 for el in tu: print(el) tu = (1, "馬化騰", ["胡辣湯", "疙瘩湯", "西紅柿雞蛋湯"]) tu[2].append("粘包米") # 元組本身沒有變. 變的是兒子中的內容 print(tu) #關於不可變, 註意: 這?元組的不可變的意思是?元素不可變. ??元素內部的?元素是可 #以變, 這取決於?元素是否是可變對象. tu = ("王昭君", "小澤老師", "夏川美裏", "斯琴高娃", ("邱老師",("刀削面", "炒餅", "蓋澆飯"), "劉德華", "周星星", "渣渣輝")) print(tu[4][1][2]) #元組也有count(), index(), len()等?法. 可以??測試使?
五. range
range可以幫我們獲取到?組數據. 通過for循環能夠獲取到這些數據.
# range for i in range(10): # 從0開始. 到10結束 print(i) for i in range(3, 7): # 從3 開始. 打印到7結束. 不能到7 print(i) for i in range(3, 10, 2): # 從3 到 10 每2個取一個 print(i) for i in range(10, -10, -1): #從10 開始到-10結束. 倒著數 print(i) # 求1-2+3-4...+99-100=? sum = 0 for i in range(1, 101): if i % 2 == 0: sum = sum - i else: sum = sum + i print(sum) lst = [1, True, "哈哈", ("可口可樂", "百事可樂", "芬達")] # lst[3] = "胡辣湯" lst.insert(2, "自行車") print(lst)“繼續奔跑 輸掉一切也不要輸掉微笑”
python全棧開發-第四天