|
注:是python中唯一的一个映射类型 创建:{key:value} #大括号创建字典的键时要加引号
dict{key=value} #括号里赋值方式,名字=对象,不要引号
字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
特点:
键唯一,重复会被重新赋值
无序
key必须遵循python命名规则
添加和取值
cidt[key]=value #key存在则修改该值,没有则添加
属性方法:
.update({}) #在字典中添加多个项
.items() #返回字典的各个项
.keys() #返回字典的键
.values() #返回字典的值
.get(k) #如果键k在,返回k的值,不存在则返回None
.get(k,x) #如果键k在,返回键k的值,不存在则返回x
.pop(k) #返回并移除键k所对应的元素,不存在则抛出异常
.pop(k,x) #返回并移除键k所对应的元素,不存在则返回x
总结:
key唯一,故可以是数字,字符串,元祖
总结:
可变对象: list set dict
不可变对象: str tuple
#字典 唯一的映射类型,遵循hash,必须是不可变的对象
#定义字典
>>> di={'w':123,'l':456,'x':789}
>>> print(type(di))
<class 'dict'>
>>> di=dict(_i=123)
>>> di
{'_i': 123}
>>> print(type(di))
<class 'dict'>
>>> di={1:123,2:234}
>>> print(type(di))
<class 'dict'>
>>> di1={'e':[123,456]}
>>> type(di1)
<class 'dict'>
>>> di2={'e':(123,456)}
>>> di3={'e':'123'}
>>> type(di3)
<class 'dict'>
#定义空字典
>>> di1=dict()
>>> print(type(di1))
<class 'dict'>
#字典取值(利用键取值)
>>> di[1]
123
>>> di[2]
234
#字典修改
>>> di[1]='qwe'
>>> di
{1: 'qwe', 2: 234}
#添加key:value(在修改key值得时候,key存在即修改否则添加)
>>> di[3]=890
>>> di
{1: 'qwe', 2: 234, 3: 890}
>>> di={'q':1,'w':2,('q','w'):122}
>>> di
{'q': 1, 'w': 2, ('q', 'w'): 122}
#清空字典
>>> di.clear()
>>> print(di)
{}
#查看字典的属性方法
>>> dir(di)
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
#fromkeys
#用给定的键建立新的字典,每个键默认为None(批量生产新的字典)
>>> di.fromkeys({'a','b','c'})
{'b': None, 'c': None, 'a': None}
#用给定的键建立新的字典,每个键自定义为123
>>> di.fromkeys({'a','b','c'},123)
{'b': 123, 'c': 123, 'a': 123}
>>> help(di.fromkeys)
Help on built-in function fromkeys:
fromkeys(iterable, value=None, /) method of builtins.type instance
Returns a new dict with keys from iterable and values equal to value.
#字典取值;值存在,则返回值,不存在默认返回None,也可自定义
>>> di
{'w': 123, 'e': 456, 'r': 789}
>>> di.get('w')
123
>>> di.get('q')
>>> di
{'w': 123, 'e': 456, 'r': 789}
>>> di.get('q','我不存在')
'我不存在'
#items,在列表中以元组的形式显示字典的每一项
>>> di.items()
dict_items([('w', 123), ('e', 456), ('r', 789)])
>>> list(di.items()) #查看字典的每一项
[('w', 123), ('e', 456), ('r', 789)]
#以列表的形式查看字典的所有键
>>> di.keys()
dict_keys(['w', 'e', 'r'])
#以列表的形式查看字典的所有值
>>> di.values()
dict_values([123, 456, 789])
#pop,指定键,删除对应的值。如果键不存在,可以自定义返回值
>>> help(di.pop)
Help on built-in function pop:
pop(...) method of builtins.dict instance
D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
>>> di
{'w': 123, 'e': 456, 'r': 789}
>>> di.pop('e')
456
>>> di
{'w': 123, 'r': 789}
>>> di.pop('w','r')
123
>>> di
{'r': 789}
>>> di.pop('q','我不存在')
'我不存在'
#popitem, 随机删除字典某一项(不需要对象)
>>> di
{'r': 789, 'w': 123}
>>> di
{'r': 789, 'w': 123}
>>> di.popitem()
('w', 123)
>>> di
{'r': 789}
#类似get,存在返回值,不存在就更新到字典,对应的值默认为None,也可自定义
>>> di.setdefault('r')
789
>>> di.setdefault('w',123)
123
>>> di
{'r': 789, 'w': 123}
>>> di.setdefault('q')
>>> di
{'r': 789, 'w': 123, 'q': None
#将一个字典内容添加并更新覆盖到原来的字典
>>> di
{'r': 789, 'w': 123, 'q': None}
>>> di1={'p':234,'q':123}
>>> di.update(di1)
>>> di
{'p': 234, 'r': 789, 'w': 123, 'q': 123}
>>> di={'x':[123,456]}
>>> di
{'x': [123, 456]}
>>> di['w']=123
>>> di
{'x': [123, 456], 'w': 123} |
|