万恶之源 - Python数据类型二
列表
列表的介紹??? ? ?
列表是python的基礎數據類型之一 ,其他編程語言也有類似的數據類型.
比如JS中的數 組, java中的數組等等. 它是以[ ]括起來, 每個元素用' , '隔開而且可以存放各種數據類型:?
lst = [1,'a',True,[2,3,4]]?列表相比于字符串,不僅可以存放不同的數據類型.而且可以存放大量的數據.32位python
可以存放:536870912個元素,64位可以存放:1152921504606846975個元素.而且列表是有序的
(按照你保存的順序)有順序,可以切片方便取值
列表的索引和切片
列表和字符串一樣也擁有索引:
lst = ['劉德華','周潤發(fā)','周杰倫','向華強'] print(lst[0]) # 列表中第一個元素 print(lst[1]) # 列表中第二個元素 print(lst[2]) # 列表中第三個元素注意:列表是可以進行修改的,這里和字符串不一樣lst[3] = '王健林' print(lst)s = '王思聰' s[0] = '李' print(s)結果: Traceback (most recent call last):File "D:/python_object/path2/test.py", line 1076, in <module>s[0] = '李' TypeError: 'str' object does not support item assignment列表的切片:
lst = ["麻花藤", "王劍林", "馬蕓", "周鴻醫(yī)", "向華強"] print(lst[0:3]) # ['麻花藤', '王劍林', '馬蕓'] print(lst[:3]) # ['麻花藤', '王劍林', '馬蕓'] print(lst[1::2]) # ['王劍林', '周鴻醫(yī)'] 也有步長 print(lst[2::-1]) # ['馬蕓', '王劍林', '麻花藤'] 也可以倒著取 print(lst[-1:-3:-2]) # 倒著帶步長?練習
li = [1, 3, 2, "a", 4, "b", 5,"c"] 通過對li列表的切片形成新的列表l1,l1 = [1,3,2] 通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"] 通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5] 通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"] 通過對li列表的切片形成新的列表l5,l5 = ["c"] 通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]列表的增刪改查
1. 增?
注意? list和str是不一樣的. lst可以發(fā)生改變. 所以直接就在原來的對象上進行了操作
追加模式
lst = ["麻花藤", "林俊杰", "周潤發(fā)", "周芷若"] print(lst) lst.append("wusir") print(lst)練習
輸入用戶信息,添加到列表中
lst = [] while True:content = input("請輸入你要錄入的員工信息, 輸入Q退出:")if content.upper() == 'Q':break lst.append(content) print(lst)插入模式
lst = ["麻花藤", "張德忠", "孔德福"] lst.insert(1, "劉德華") # 在1的位置插入劉德華. 原來的元素向后移動一位 print(lst)迭代添加
# 迭代添加 lst = ["王志文", "張一山", "苦海無涯"] lst.extend(["麻花藤", "麻花不疼"]) print(lst)練習
寫代碼,有如下列表,按照要求實現每一個功能li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] 計算列表的長度并輸出 列表中追加元素"seven",并輸出添加后的列表 請在列表的第1個位置插入元素"Tony",并輸出添加后的列表 請修改列表第2個位置的元素為"Kelly",并輸出修改后的列表 請將字符串s = "qwert"的每一個元素添加到列表li中,一行代碼實現,不允許循環(huán)添加。2. 刪除
pop 通過下標刪除元素(默認刪除最后一個)
lst = ["麻花藤", "王劍林林", "李李嘉誠", "王富貴"] print(lst) lst.pop()deleted = lst.pop() print('被刪除的',deleted) print(lst)el = lst.pop(2) # 刪除下標位2的元素 print(el) # 被刪除的元素 print(lst)remove 通過元素刪除
lst = ["麻花藤", "王劍林", "李嘉誠", "王富貴"] lst.remove('王劍林') print(lst)結果: ['麻花藤', '李嘉誠', '王富貴']lst.remove('哈哈') # 刪除不存在的元素 結果: Traceback (most recent call last):File "D:/python_object/path2/test.py", line 1115, in <module>lst.remove('哈哈') # 刪除不存在的元素 ValueError: list.remove(x): x not in listclear? 清空
lst = ["麻花藤", "王劍林", "李嘉誠", "王富貴"] lst.clear() print(lst)結果: []練習
寫代碼,有如下列表,按照要求實現每一個功能li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] 請刪除列表中的元素"ritian",并輸出添加后的列表 請刪除列表中的第2個元素,并輸出刪除的元素和刪除元素后的列表 請刪除列表中的第2至4個元素,并輸出刪除元素后的列表修改
索引切片修改
# 修改 lst = ["太白", "太黑", "五色", "銀王", "?天"] lst[1] = "太污" # 把1號元素修改成太污 print(lst) lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步長不是1, 要注意. 元素的個 數 print(lst) lst[1:4] = ["我是哪個村的村長王富貴"] # 如果切片沒有步長或者步長是1. 則不用關心個數 print(lst)查詢
列表是一個可迭代對象,所以可以進行for循環(huán)
lst = ["麻花藤", "王劍林", "李嘉誠", "王富貴"]for i in lst:print(i)結果: 麻花藤 王劍林 李嘉誠 王富貴練習
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] 將列表li中第三個元素修改成'taibai' 將列表li中第四個元素修改成'女神' 將列表li中前三個元素修改成'alex1,alex2,alex3'其他操作
反轉
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]li.reverse() # 把這個列表進行調轉 print(li)排序
li = [1,2,3,4,84,5,2,8,2,11,88,2] li.sort() # 升序 排序 print(li)li.sort(reverse=True) # 降序 排序 print(li)統計
li = [1,2,3,4,84,5,2,8,2,11,88,2] num = li.count(3) # 統計元素3出現的次數,和字符串中功能一樣 print(num)通過元素獲取下標
li = [1,2,3,4,84,5,2,8,2,11,88,2] n = li.index(5) print(n)獲取長度
li = [1,2,3,4,84,5,2,8,2,11,88,2] print(len(li))結果: 12練習
li = [1,3,6,9,2,4,6,8]1.將以上這個列表中進行反轉 2.將以上這個列表中進行降序排列l(wèi)i = ["alex", "wusir", "taibai"] 利用下劃線將列表的每一個元素拼接成字符串"alex_wusir_taibai"列表的嵌套
注意:采用降維操作,一層一層的看就好
lst = [1,'太白','wusir',['麻花疼',['可口可樂'],'王健林']]# 找到wusir print(lst[2])# 找到太白和wusir print(lst[1:3])# 找到太白的白字 print(lst[1][1])# 將wusir拿到,然后首字母大寫 在扔回去s = lst[2] s = s.capitalize() lst[2] = s print(lst)# 簡寫 lst[2] = lst[2].capitalize() print(lst)# 把太白換成太黑 lst[1] = lst[1].replace('白','黑')# 把麻花疼換成麻花不疼 lst[3][0] = lst[3][0].replace('疼','不疼') print(lst)# 在可口可樂后邊添加一個雪碧 lst[3][1].append('雪碧') print(lst)練習
寫代碼,有如下列表,按照要求實現每一個功能。lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] 將列表lis中的"tt"變成大寫(用兩種方式)。 將列表中的數字3變成字符串"100"(用兩種方式)。 將列表中的字符串"1"變成數字101(用兩種方式)。元組
元組:俗稱不可變的列表,又被成為只讀列表,元組也是python的基本數據類型之一,用小括號
括起來,里面可以放任何數據類型的數據,查詢可以,循環(huán)也可以,切片也可以.但就是不能改.
tu = ('我','怎么','這么','可愛')tu1 = tu[0] # 支持下標 print(tu1)for i in tu:print(i) # 進行for循環(huán)tu2 = tu[0:3] print(tu2) # 進行切片結果: Traceback (most recent call last):File "D:/python_object/path2/test.py", line 1286, in <module>tu[0] = '你' NameError: name 'tu' is not defined關于不可變, 注意: 這里元組的不可變的意思是子元素不可變. 而子元素內部的子元素是可以變, 這取決于子元素是否是可變對象.? ? ?
元組中如果只有一個元素. 一定要添加一個逗號, 否則就不是元組
tu = (1) print(type(tu))結果: <class 'int'>元組嵌套
tu = ('今天姐姐不在家','姐夫和小姨子在客廳聊天',('姐夫問小姨子稅后多少錢','小姨子說和姐夫還提錢')) tu1 = tu[0] tu2 = tu[1] tu3 = tu[2][0] tu4 = tu[2][1]print(tu1) print(tu2) print(tu3) print(tu4)結果: 今天姐姐不在家 姐夫和小姨子在客廳聊天 姐夫問小姨子稅后多少錢 小姨子說和姐夫還提錢?
轉載于:https://www.cnblogs.com/guobaoyuan/p/9815514.html
總結
以上是生活随笔為你收集整理的万恶之源 - Python数据类型二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能会议平板与传统投影仪对比哪个更适合现
- 下一篇: 《必然》九、享受重混盛宴,是每个人的机会