複習字典、集合

(一)字典(無序,能夠修改,鍵不能夠重複,值能夠重複)app

  每對鍵值組合稱爲項,字典跟序列不一樣,序列講究順序,字典講究映射,不講順序。three

  注意:字典的鍵必須是獨一無二,而值能夠多種數據類型,可是鍵取自不可改變的數據類型(如字符串、數值型或元組)。鍵值惟一,值不惟一。ip

1.字典的建立(至少五中方法)rem

  a = dict(one=1,two=2,three=3,four="肆")字符串

  b = {"one":1,"two":"貳","three":3,"four":4}get

  c = dict(zip(["one","two","three","four","five"],["壹","貳","叄","肆","伍"]))it

  d = dict([("two",2),("one",1),("three",3),("four,4")]) 或d = dict((("two",2),("one",1),("three",3),("four,4")))date

  e = dict({"three":3,"two":"貳","one":1})遍歷

  g = dict.fromkeys(seq[,val])  建立一個新字典,以序列seq中元素,作字典,val作值數據類型

2.字典的訪問

  建立一個空子典  dict1 = {} 

  dict2 = dict.fromkeys(range(32),"贊")

  print(dict2.keys())  #輸出全部鍵組成的列表

  print(dict2.values())  #輸出全部組成的列表

  print(dict2.items())  #輸出全部的鍵值對組成的列表

3.獲取內容

  dict3 = {}

  dict4 = dict3.fromkeys(range(5),"贊")

  print(dict4.get(4))  #輸出0~4都是贊,而其餘值都是None

  print(dict4.get(10),"木有")  #給不存在的鍵賦值默認值

4.清空字典clear()刪除字典內全部元素

  dict5 = {"name":"張三","sex":"男","age":18}

  print(dict5.clear())

5.刪除字典

  dict6 = {"name":"李麗","sex":"女","age":18}

  del dict6

  dict6.pop(name)  #經過指定鍵來鍵對應的值,同時顯示刪除鍵所對應的值

  dict6.popitem()  #隨機刪除一項鍵值對

6.拷貝字典,返回一個字典的淺複製

  dict6 = {"name":"李麗","sex":"女","age":18}

  dict7 = dict6.copy()

  print(dict7)

7.更新字典

  dict8 = {"米奇":"老鼠","湯姆":"貓","小白":"豬"}

  dict8.update(小白="狗")

  注意:當一個字典中有重複的鍵所對應的值時,後面的健值對會替換掉前面的健值對

8.統計字典的長度

  dict8 = {"米奇":"老鼠","湯姆":"貓","小白":"豬"}

  len(dict8)

  str(dict8)  以字符串形式輸出字典

  print("value:",dict8.__contains__("米奇"))  判斷鍵是否在字典內,若是在返回True,不在返回False

9.遍歷嵌套字典

def dict9_list(d,l):

  for x in d.keys():

    if type(d[x]) == dict:

      dict9_list(di[x],l)

    else:

      l.append(d[x])

d = {1:"a",2:"b",3:{4:"c",5:"d",6:{7:"e"}},8:"f"}

l = []

dict9_list(d,l)

print(l)

(二)集合,你是個人惟一,個人心中只有你(無序,不能夠修改,不能夠重複)(能夠用做去重元素)

1.集合建立

  set1 ={1,2,3,4,5,6}

  set2 = set([1,2,3,4,5,6])

  set1 == set2

2.訪問集合

  set3 = {1,2,3,4,5,6,3,7,8,9,9}

  for each in set3:

    print(each,end=" ")

  能夠使用 in和not in 來判斷一個元素是否在集合中已經存在

  >>>2  in set3  #True    >>>2 not in set3  #False  

  使用add()方法能夠給集合添加元素,使用remove()方法刪除集合中已知的元素

  >>>set3.add(11)

  >>>set3

   {1,2,3,4,5,6,7,8,9,11}

  >>>set3.remove(5)

  >>>set3

  {1, 2, 3, 4, 6, 7, 8, 9}

3.不可變集合(冰凍集合frozenset())

  >>>set4 = frozenset({1,2,3,4,5})

  >>>set4.add(6)

  報錯:由於冰凍集合沒有add屬性

相關文章
相關標籤/搜索