Python基本数据类型(二)
生活随笔
收集整理的這篇文章主要介紹了
Python基本数据类型(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
五、列表(list)
1、列表的介紹
列表:列表是Python的基礎數據類型之? ,其他編程語?也有類似的數據類型. 比如JS中的數
組, java中的數組等等. 它是以[ ]括起來, 每個元素?’ , '隔開?且可以存放各種數據類型:
例:
lst = ["嘿嘿", "吼吼", ["我是", "列表"], ("I'm", "tuple"), {"dict": "我是字典"}, {"set", "我是集合呀"}, 2]列表相比于字符串可以存取更多類型的數據,而且可以存放大量的數據。列表是有序的,可以通過索引對列表進行切片取值等操作。
2、列表的索引和切片
列表和字符串一樣擁有索引
lst = ["孫悟空", "豬八戒", "沙僧", "唐僧"] print(lst[0]) # 孫悟空 print(lst[1]) # 豬八戒 print(lst[2]) # 沙僧 print(lst[3]) # 唐僧lst[0] = "齊天大圣" # 注意:列表是可變類型,可以直接發生改變,和字符串不一樣哈 print(lst) # ["齊天大圣", "豬八戒", "沙僧", "唐僧"] temp = "天蓬元帥" temp[0] = "地" print(temp) # TypeError: 'str' object does not support item assignment (不可變類型)列表的切片
lst = ["孫悟空", "豬八戒", "沙僧", "唐僧"] print(lst[0:2]) # ["孫悟空", "豬八戒", "沙僧"] print(lst[::2]) # ["孫悟空", "沙僧"] print(lst[::-1]) # ['唐僧', '沙僧', '豬八戒', '孫悟空'] print(lst[-1:1:-1]) # ["唐僧", "沙僧"]3、列表的增刪該查
注意:列表是可變類型,所以可以直接對列表中的元素進行操作。
增
lst = ["name", "age", "job", "hobby"] lst.append("gender") print(lst) # ["name", "age", "job", "hobby", "gender"]lst = ["name", "age", "job", "hobby"] lst.insert(1, "gender") print(lst) # ["name", "gneder", "age", "job", "hobby"] 按照索引進行插入lst = ["name", "age", "job", "hobby"] lst.extend(["gender", "salary"]) print(lst) # ["name", "age", "job", "hobby", "gender", "salary"] 將可迭代對象進行迭代添加 lst = ["name", "age", "job", "hobby"] lst.extend("hello") print(lst) # ['name', 'age', 'job', 'hobby', 'h', 'e', 'l', 'l', 'o']刪
lst = ["鬼劍士", "神槍手", "召喚師", "圣職者", "格斗家"] ret1 = lst.pop() # 默認刪除列表最后一個元素,并且可以取得被刪除的元素的值 ret2 = lst.pop(1) # 也可以指定索引刪除 print(ret1) # 格斗家 print(ret2) # 神槍手 print(lst) # ["鬼劍士", "召喚師", "圣職者"]lst = ["鬼劍士", "神槍手", "召喚師", "圣職者", "格斗家"] lst.remove("圣職者") # 指定列表中的元素名稱進行刪除,刪除不存在的元素會報錯 print(lst) # ["鬼劍士", "神槍手", "召喚師", 格斗家"]lst = ["鬼劍士", "神槍手", "召喚師", "圣職者", "格斗家"] del lst[2] # 使用del刪除指定的列表元素,只能使用索引或者切片進行刪除 print(lst) # ["鬼劍士", "神槍手", "圣職者", "格斗家"]lst = ["鬼劍士", "神槍手", "召喚師", "圣職者", "格斗家"] lst.clear() # 清空列表 print(lst) # []改
lst = ["馬云", "馬化騰", "馬良", "馬蓉", "馬克思"] lst[1] = "麻花藤" print(lst) # ["馬云", "麻花藤", "馬良", "馬蓉", "馬克思"]lst = ["馬云", "馬化騰", "馬良", "馬蓉", "馬克思"] lst[1:4] = "hello" print(lst) # ["馬云", "h", "e", "l", "l", "o", "馬克思"]查
列表是一個可迭代對象,所以可以使用for循環查詢
for ele in list:print(i)其它操作
# 計算"行者孫"在列表中出現的次數 lst = ["孫行者", "行者孫", "者行孫", "行者孫"] print(lst.count("行者孫")) # 2# 計算列表的長度 lst = ["孫行者", "行者孫", "者行孫", "行者孫"] print(len(lst)) # 4# 對列表元素進行翻轉 lst = ["孫行者", "行者孫", "者行孫", "行者孫"] lst.reverse() print(lst) # ["行者孫", "者行孫", "行者孫", "孫行者"]# 對列表進行排序 lst = [10,2,45,64,4,16,8] lst.sort() # 默認從小到大排序 print(lst) # [2, 4, 8, 10, 16, 45, 64] lst.sort(reverse=True) # 加上參數reverse=True變成從大到小排序 print(lst2) # [64, 45, 16, 10, 8, 4, 2]列表的嵌套
lst = [1, "夸父", "dogfa", ["jack ma", ["康帥博"], "麻辣干子"]] # 找到"夸父" print(lst[1])# 找到“夸父“和”dogfa” print(lst[1:3])# 將"夸父“替換成”夸母” lst[1] = lst[1].replace("父", "母") print(lst)# 將”jack ma“各個首字母大寫 lst[3][0] = lst[3][0].title() print(lst)# 將”康帥博“替換成”康師傅“ lst[3][1][0] = lst[3][1][0].replace("帥博", "師傅") print(lst)# 將”dogfa“首字母大寫 lst[2] = lst[2].capitalize() print(lst)循環刪除列表中的元素(注意)
lst = ["鬼劍士", "神槍手", "召喚師", "圣職者", "格斗家"] for i in lst:lst.remove(i) print(lst) # ['神槍手', '圣職者'] # 為什么我們進行for循環時沒有將列表中的元素全部刪除?因為for循環每循環一次內部索引會加1,而刪除了列表中的元素之后,后面的元素會前移,導致刪除錯亂。 # 第一次循環: ["神槍手", "召喚師", "圣職者", "格斗家"] 刪除索引0對應的元素,后面的元素前移 # 第二次循環: ["神槍手", "圣職者", "格斗家"] 刪除索引1對應的元素,后面的元素前移 # 第三次循環: ["神槍手", "圣職者"] 刪除索引2對應的元素,后面的元素前移# 解決辦法1 for i in range(len(lst)):lst.pop() print(lst) # []# 解決辦法2 lst2 = [] for i in lst:lst2.append(i)for el in lst2:lst.remove(el) print(lst) # []六、元祖(tuple)
元組: 俗稱不可變的列表.?被成為只讀列表, 元組也是python的基本數據類型之?, ??括
號括起來, ??可以放任何數據類型的數據, 查詢可以. 循環也可以. 切片也可以. 但就是不能
改.
未完待續
總結
以上是生活随笔為你收集整理的Python基本数据类型(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python内存相关
- 下一篇: websocket python爬虫_p