python08_數據結構(容器類型)

存儲大量數據的容器在python中稱之爲內置數據結構python

4種內置數據結構(容器類型):
1.列表:list => [val1,val2,val3,val4]
列表是處理一組有序項目的數據結構
可包含任何類型的對象
是可變的數據類型(即這種類型的值可被修改)數據結構

列表的基本操做:
     索引:sample = [1,2,3,4]----下標不能越界
         切片:sample = [start:end:step]----三個值都爲選填項
             切片對象(slice函數)---生成一個slice對象,至關於給要切的內容取個名
                 ![](https://s4.51cto.com/images/blog/202006/16/f5a1411c28bb629c2dae712c48d01433.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
         增長:
              append:在末尾做爲總體追加,類型不限
                    insert:在index位置插入數據,2個參數(索引,插入的元素)
                    extend:擴展列表---將一個列表裏的內容擴展到另外一個列表(只限可轉爲list的類型---str,list,tuple)
                    如list1.extend(list2)即list2的內容在list1打印出來
         刪除:
             pop:默認刪除最後一個元素(指定index刪除)
                 remove:指定刪除的數據(要刪除的數據不存在時會報錯)
                 del:根據下標刪除(del是python的一個關鍵字,用於刪除變量的引用)
                 clear:清空列表
         修改:主要利用下標和切片來修改或增長,刪除
         反轉:reverse或切片
             區別:reverse會使list自己反轉,切片只是結果反轉
         排序:sort---(根據首字母排序,若第一位同樣,則看第二位)
                   list.sort()----默認升序
             list.sort(reverse = True)-----降序
         統計:len,count,index
         遍歷:依次取出對象中的每一項數據
             list是可迭代對象,可直接用for遍歷
                 1)for i in list:
               print(i)
       2)for i,j//i in enumerate(list):
               print(i,j)//print(i)
         判斷成員關係:判斷列表中是否有某個數據
         類型轉換:字符串str轉列表list
         查下標

2.元組:tuple => (val1,val2,val3,val4)
元組是處理一組有序項目的數據結構
元組和字符串同樣是不可變的
能夠包含任何類型的對象app

元組的基本操做:
        索引
            切片
            不可變性:
            ![](https://s4.51cto.com/images/blog/202006/16/cb27efb3cc94d0b1657c5e9872d54e66.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
            ![](https://s4.51cto.com/images/blog/202006/16/e00c098051e9eb9d99a70396c96e95c8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
            統計
            查下標
            遍歷
            成員關係

列表list和元組tuple的區別:
相同點:
序列的兩個主要特色是索引操做符和切片操做符
索引操做符讓咱們能夠從序列中抓取一個特定項目
切片操做符讓咱們可以獲取序列的一個切片,即一部分序列
不一樣點:
list: 可變對象
tuple: 不可變對象,不能增長修改刪除
tuple中嵌套list時,list是可修改的ide

3.字典:dict => {key1:val1,key2:val2}
字典是Python中一個鍵值映射的數據結構
無序的可變對象
key必須是惟一的可hash對象(python中全部字符串、數字、元組、布爾值、None都是可hash對象)
字典的value能夠是任何值函數

字典的基本操做:
        查看
            取值:
                1)dicts[key] = 當key不存在會報錯
                    2)dicts.get(key,default) = 當key不存在時返回default值
            新增:
                dicts[key] = value---當key不存在時,表示增長一個鍵值對///當key存在時,表示修改對應的value值
            刪除:
                1)dicts.pop(key)
                    2)dicts.popitem()---默認刪除最後一對鍵值對
            遍歷
            合併字典:
                1)dict1.update(dict2) =   將dict2合併到dict1
                2)dict(dict1, **dict2) =  將dict1與dict2合併生成一個新字典

            統計長度
            成員關係:
                item in dicts
                    item not in dicts

4.集合:set => {key1,key2,key3,key4}
集合是一個無序的,不重複的數據組合
是一個只含有key的字典
集合的做用:
去重:把一個列表變成集合,就自動去重了
關係測試:測試兩組數據以前的交集、差集、並集等關係測試

集合元素必須是可hash對象,跟字典同樣
    set和dict的惟一區別僅在於沒有存儲對應的value

    集合的基本操做:
        添加:
                1)s.add(item) => 添加一項
                    2)s.update(someitems) => 添加多項
            移除:
                1)s.remove(item) => 移除一項(item不存在會報錯)
                    2)s.discard(item) => 移除一項(item不存在則什麼也不作)
            集合操做:
                建立集合
                    交集:t 和 s的交集 , 返回一個新的 set 包含 s 和 t 中的公共元素
                    並集:t 和 s的並集 ,返回一個新的 set 包含 s 和 t 中的每個元素
                    ![](https://s4.51cto.com/images/blog/202006/16/fc29a261bd3e63f9bca51b082fc555ef.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
                    差集:返回一個新的 set 包含 s 中有可是 t 中沒有的元素
                    對稱差集:返回一個新的 set 包含 s 和 t 中不重複的元素(在t或s中,但不會同時出如今兩者中)
                    ![](https://s4.51cto.com/images/blog/202006/16/26dc4f149cb342f3e5ab2e84803c478e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
相關文章
相關標籤/搜索