天天看點

Python從入門到入土---字典和合集(directory and set)集合

info = { 
    "key1":"value1", "key2":"value2","key3":"value3"
}
           

key值不可重複,value可以。各個key之間用“,”隔開。value可以為list清單。

info2 = {
    '龍婷':['設計部','UI',23283],'nihao':['shh','fyi',56880],2:3
}
           

如果像上表,value是一個清單,首先要注意格式,不能忘了前面的tab,其次如果是查詢龍婷裡面的資料,指令行如下,如果想要修改資料,直接info[key][0]=' '

Python從入門到入土---字典和合集(directory and set)集合

字典的特性:

  1. key-value結構
  2. key必須可被hash,且為不可變資料類型,必須唯一
  3. 可以存放任意多個值,可修改,可以不唯一
  4. 無序(沒有索引,不占記憶體)
  5. 查找速度快
Python從入門到入土---字典和合集(directory and set)集合

查key值是否存在的标準用法是'key' in info。擷取内容的話是info.get('key')或者info['key'],二者存在差别,info['key']如果是一個null,程式會報錯keyerror,是以常用get。

Python從入門到入土---字典和合集(directory and set)集合

删除

  1. info.pop('key')删除某一特定的值,return被删除的value。
  2. info.popitem()不用指定key,随機删除一項,并傳回整項。
  3. del info['value'],但是不傳回值。

item()     将directory的每個項轉換成元組。

info1.update(info2)  将兩個字典合并到一個。其中如果兩者有相同的key,info2 的value會覆寫掉info1的值

info.setdefault('key','value'),如果key存在,傳回已存在的value;否則,生成一行字典,key為‘key’,value為‘value’,并傳回‘value’

info.fromkeys(‘key1’,'key2',key3') ,字典會生成一大串key值,切各個value為null。适用于資料庫前期的批量建立。

循環

         for k in info 

                  print(k,info[k])

        輸出結果為key,value

多級字典的嵌套

Python從入門到入土---字典和合集(directory and set)集合

集合

集合set的格式有點像字典。用法也很簡單,就離散數學的哪幾個簡單的集合的概念。

set1.union(set2)  set1和set2 合并到同一個set中,消除重複的值

set1-set2 = set1-(交集)

Python從入門到入土---字典和合集(directory and set)集合

s.pop()随機删除,傳回被删除的值

s.remove('value'),不傳回值

s.discard(value),不傳回值。但是如果value不存在,不報錯。

s.update(s2),或者直接s.update([2,3.33,])

交集:set1.intersection(set2)  // set1 & set2

差集:set1.difference(set2)   //set1-set2

并集:set1.union(set2)    //set1|set2

并集減交集:set1.symmetric_difference(set2)

set1.isdisjoint(set2) 是不是不相交

set1.isuperset(set2) 是不是包含set2,相當于set1>=set2

set1.issubset(set2) 是不是set2 的子集,相當于set1<=set2