字典{key1 : value1, key2 : value2, …}
dict1 = {
'one': 1, 'two': 2}
使用工厂函数,用元组操作。
dict2 = dict(((1,2), (3, 4), (5, 6), (7,8)))
需要用到这么多括号的原因:
还是使用工厂函数dict,但是是用"="操作
字典dict(key1 = value1, key2 = value2, …)
dict3 = dict(one = 1, two = 2, three = 3)
键值key不能随便改格式,解释器会自动将键值转换为字符串存储。
value = dict3[key]
value = dict3.get(key)
dict3[new_key] = new_value
dict3.update(dict2)
此时Python会自动创建键值对
dict3.pop(key)
会返回与之对应的键值
dict4.formkeys((1, 2, 3),'num')
新建一个字典dict4然后所有的key都对应’num’
辨析dict3 = {}
与dict3.clear
前者是把dict3指向一块新的内存,不再管原来的字典,若原来的地址未被其它引用指向,将会被Python的垃圾自动回收机制清空,如果有引用,将不会被清空。
后者是直接将dict3指向的那块内存清空。
辨析dict4 = dict3
与dict4 = dict3.copy
前者并未开辟一块新内存,后者开辟了,底层原理同上,懂得都懂。
for eachkey in dict3.keys():
print(eachkey)
for eachvalue in dict3.values():
print(eachvalue)
for eachitems in dict3.items():
print(eachitems)
key in dict3
返回值为bool类型
num = {
1, 2, 3, 6, 8, 7, 4, 9, 10, 16, 17, 14, 2, 4}
用大花括号即可定义
num.append(10)
num.pop()
##随机删除一个
num.remove(4)
##删除4
注意:集合会自动排序,操作时要注意。