python字典與集合操作

來源:互聯網
上載者:User

標籤:rom   ef6   class   add   交集   包含   file   section   intersect   

字典操作

字典一種key - value 的資料類型,使用就像我們上學用的字典,通過筆劃、字母來查對應頁的詳細內容。

文法:

info = {    ‘s1‘: "jack",    ‘s2‘: "musker",    ‘s2‘: "lili",}

字典的特性:

  • dict是無序的
  • key必須是唯一的,so 天生去重

增加

>>> info[‘s4‘] = "wangwu">>> info{‘s2‘: ‘lili‘, ‘s1‘: ‘jack‘, ‘s4‘: ‘wangwu‘}
View Code

 修改

>>> info[‘s3‘] = "麗麗">>> info{‘s2‘: ‘lili‘, ‘s3‘: ‘麗麗‘, ‘s1‘: ‘jack‘, ‘s4‘: ‘wangwu‘}
View Code

 刪除

>>> info.pop(‘s1‘)‘jack‘>>> info{‘s2‘: ‘lili‘, ‘s3‘: ‘麗麗‘, ‘s4‘: ‘wangwu‘}>>> del info[‘s3‘]>>> info{‘s2‘: ‘lili‘, ‘s4‘: ‘wangwu‘}>>> info.popitem()(‘s2‘, ‘lili‘)>>> info{‘s4‘: ‘wangwu‘}
View Code

尋找

>>> ‘s2‘ in info    #標準用法True>>> info.get(‘s2‘)    #擷取‘lili‘>>> info[‘s2‘]        #同上,但是看下面‘lili‘>>> info[‘s5‘]        #如果一個key不存在,就報錯,get不會,不存在只返回NoneTraceback (most recent call last):  File "<pyshell#15>", line 1, in <module>    info[‘s5‘]KeyError: ‘s5‘
View Code

其他動作

#values>>> info.values()dict_values([‘lili‘, ‘jack‘])#keys>>> info.keys()dict_keys([‘s2‘, ‘s1‘])#setdefault>>> info.setdefault(‘s6‘,‘musker‘)‘musker‘>>> info{‘s2‘: ‘lili‘, ‘s6‘: ‘musker‘, ‘s1‘: ‘jack‘}>>> info.setdefault(‘s2‘,‘wangwu‘)‘lili‘>>> info{‘s2‘: ‘lili‘, ‘s6‘: ‘musker‘, ‘s1‘: ‘jack‘}#update >>> info{‘s2‘: ‘lili‘, ‘s6‘: ‘musker‘, ‘s1‘: ‘jack‘}>>> b = {1:‘a‘, 2:‘b‘}>>> info.update(b)>>> info{‘s2‘: ‘lili‘, 1: ‘a‘, 2: ‘b‘, ‘s6‘: ‘musker‘, ‘s1‘: ‘jack‘}#items>>> info.items()dict_items([(‘s2‘, ‘lili‘), (1, ‘a‘), (2, ‘b‘), (‘s6‘, ‘musker‘), (‘s1‘, ‘jack‘)])#通過一個列表產生預設dict,有個沒辦法解釋的坑,少用吧這個>>> dict.fromkeys([1,2,3],‘testd‘){1: ‘testd‘, 2: ‘testd‘, 3: ‘testd‘}
View Code

迴圈dict

#方法1for key in info:    print(key,info[key])#方法2for k,v in info.items(): #會先把dict轉成list,資料裡大時莫用    print(k,v)
View Code集合操作

集合是一個無序的,不重複的資料群組合,它的主要作用如下:

  • 去重,把一個列表變成集合,就自動去重了
  • 關係測試,測試兩組資料之前的交集、差集、並集等關係

常用操作

s = set([3,5,9,10])      #建立一個數值集合    t = set("Hello")         #建立一個唯一字元的集合  a = t | s          # t 和 s的並集    b = t & s          # t 和 s的交集    c = t – s          # 求差集(項在t中,但不在s中)    d = t ^ s          # 對稱差集(項在t或s中,但不會同時出現在二者中)         基本操作:    t.add(‘x‘)            # 添加一項    s.update([10,37,42])  # 在s中添加多項         使用remove()可以刪除一項:    t.remove(‘H‘)      len(s)  set 的長度    x in s  測試 x 是否是 s 的成員    x not in s  測試 x 是否不是 s 的成員    s.issubset(t)  s <= t  測試是否 s 中的每一個元素都在 t 中    s.issuperset(t)  s >= t  測試是否 t 中的每一個元素都在 s 中    s.union(t)  s | t  返回一個新的 set 包含 s 和 t 中的每一個元素    s.intersection(t)  s & t  返回一個新的 set 包含 s 和 t 中的公用元素    s.difference(t)  s - t  返回一個新的 set 包含 s 中有但是 t 中沒有的元素    s.symmetric_difference(t)  s ^ t  返回一個新的 set 包含 s 和 t 中不重複的元素    s.copy()  返回 set “s”的一個淺複製
View Code

 

python字典與集合操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.