Python基礎二——列表,元組,字典,集合

在使用索引時,太大的索引會導致錯誤,而用於切片時,超出範圍的切片索引會被得當處理

>>> a = list('123455')
>>> a[1:34]
['2', '3', '4', '5', '5']

列表

list[::-1]    可直接實現列表逆序


list.append()            可將元素添加到尾部

list1.extend(list2)    將一個列表合併到另一個列表,等同於+=

list.insert(int,item)  在int偏移量處插入元素,如果超過了尾部,則直接添加在列表最後

list.reverse()            反轉列表元素

    reversed(list)函數也可以反轉列表

刪除列表元素

    del語句刪除指定位置元素

        del list[-1]    #刪除列表尾部元素

    list.remove(item)刪除指定值的元素,刪除列表中第一個等於item的元素

>>> mylist = ['a','b','a']
>>> mylist.remove('a')
>>> mylist
['b', 'a']

    list.pop(int)獲取返回並刪除指定位置的元素,int參數默認爲-1

list.count(item)    記錄特定值出現在列表中的次數

使用str.join(list)轉換爲字符串


重排元素

        列表方法list.sort()對原列表重排,改變原列表的內容    

        函數sorted(iterable)返回排序好的列表,原列表不變

            排序要求列表爲同一類型,或者可以自動轉換——整數或浮點數

            默認排序爲升序,可以指定reverse=True參數,改爲降序

列表賦值

            如果將列表賦值爲多個變量,修改任意變量會造成其他變量對應的值也被修改

                    多個變量實際都是指向一個對象

複製列表

           list.copy()

                    a = b.copy()

            list()轉換函數       a = list(b)

            列表分片    a = b[:]

元組

元組,不可變序列,tuple()


構造包含0個或1個元素的元組

            空的元組通過一對空的圓括號構造;

            只有一個元素的元組通過一個元素跟隨一個逗號構造(僅用圓括號把一個值括起來是不夠的)

通用序列操作

    x in s          如果s包含x,返回True,否則返回False
    x not in s    如果s包含x,返回False,否則返回True

    len(s)        s的長度
    min(s)       s的最小項
    max(s)      s的最大項
    sum(s,[initial])    各項的和,initial爲初始值
    all(s)        檢查s中各項是否爲True

    any(s)      檢查s中的任一項是否爲True

    s*n          相當於將s添加到自身n


字典

字典{},dict()可將包含雙值子序列的序列轉化爲字典

字典的鍵爲不可變類型

>>> seq = [['a','b']]      #(['a','b']) | ['ab']
>>> dict(seq)
{'a': 'b'}

dict1.update(dict2)合併字典

        如果dict1dict2含有同樣的鍵,新值會取代原值

dict.get(key,def_values)獲取key鍵的值,如果沒有key鍵,則返回default_values

dict.setdefault(key,def_values)

        如果找到dict[key],則返回dict[key],否則返回def_values,並將dict[key]設置爲def_values


dict.keys()            獲取所有的鍵

dict.values()        獲取所有的值

dict.items()        獲取所有的鍵值對,每個鍵值以元組形式返回

        返回爲建值的迭代形式dict_keys([]),dict_values([]),dict_items([ ('k','v'), ])

        可使用list()函數將獲取的值轉換爲列表


使用del語句是刪除指定鍵的元素

dict.pop(key[, default])    如果key在字典中,刪除並返回值,否則返回default,如果沒有default則默認返回None,不會引發KeyError

dict.popitem()        從字典中移除並返回任意一個鍵值對,如果字典爲空,則引發KeyError

dict.clear()    刪除所有元素


in語句判斷某個鍵是否在字典中

使用=賦值,dict.copy()複製

類方法 dict.fromkeys(seq[,value=None]) 以序列seq中的元素作爲鍵,value參數爲值創建一個新字典



集合

集合set爲沒有重複元素的無序容器

            可用於成員資格測試或消除重複條目

花括號或set()函數可創建集合

            創建一個空集合必須使用set(),{}會創建一個空字典

集合中包含的元素都爲不可變類型

set.add(elem)          添加元素elem到集合
set.remove(elem)    從集合中移除元素elem。如果elem不包含在集合中,引發KeyError
set.discard(elem)     從集合中移除元素elem,如果它存在
set.pop()                  從集合中移除並返回任意元素。如果此集合爲空,則引發KeyError
set.clear()                從集合中移除所有元素

邏輯方法

        &   或者set.intersection(set)獲取集合的交集
        |     或者 set.union(set)來獲取集合的並集
        -     或者set.difference(set)來獲得兩個集合的差集
        ^    或者set.symmetric_difference(set)來獲取兩個集合的異或集(僅在兩個集合中出現過一次)
        <=  或者set.issubset(set)判斷一個集合是否是另一個集合的子集
        <    判斷第一個是否是第二個的真子集

        >=  超集,>真超集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章