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]=' '

字典的特性:
- key-value結構
- key必須可被hash,且為不可變資料類型,必須唯一
- 可以存放任意多個值,可修改,可以不唯一
- 無序(沒有索引,不占記憶體)
- 查找速度快
查key值是否存在的标準用法是'key' in info。擷取内容的話是info.get('key')或者info['key'],二者存在差别,info['key']如果是一個null,程式會報錯keyerror,是以常用get。
删除
- info.pop('key')删除某一特定的值,return被删除的value。
- info.popitem()不用指定key,随機删除一項,并傳回整項。
- 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
多級字典的嵌套
集合
集合set的格式有點像字典。用法也很簡單,就離散數學的哪幾個簡單的集合的概念。
set1.union(set2) set1和set2 合并到同一個set中,消除重複的值
set1-set2 = set1-(交集)
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