字典(dict)
前言
字典是python中键值对形式的对象, 键是不可变对象同时具有唯一性, 字典无序可言, 是unhashable对象.
字典的使用
字典的创建
# 空字典
>>> a = {}
>>> type(a)
<class 'dict'>
>>> a = {'name': 'lls', 'age': 18}
>>> a
{'name': 'lls', 'age': 18}
>>> a = dict(a=1, b=2)
>>> a
{'a': 1, 'b': 2}
字典的方法
>>> dir({})
['__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']
- clear: 清除字典中的内容.
- copy: 返回一个浅复制性质的字典.
- fromkeys: 接收一个序列类型对象, 返回一个以序列中的元素为key的字典.
- get: 接收一个key, 查询字典中对应key的value并返回, 如果没有对应的key就返回default.
- items: 返回字典的所有key-value.
- keys: 返回字典的所有key.
- pop: 接收一个key, 弹出对应的key-value, 成功就返回1, 不然就报错.
- popitem: 弹出一个key-value, 成功会返回弹出的key-value.
- setdefault: 接收一个key, 在字典中查询该key, 如果没有该key就添加该key和默认的value到字典中.
- values: 返回字典的所有value.
- update: 接收一个字典, 并更新到字典中.
SHOW TIME:
>>> a = {'a': 1, 'b': '1231'}
>>> a.clear()
>>> a
{}
>>> a = {'a': 1, 'b': '1231'}
>>> a.copy()
{'a': 1, 'b': '1231'}
>>> a.fromkeys([1, 2, 3], 'hah')
{1: 'hah', 2: 'hah', 3: 'hah'}
>>> a.fromkeys('asdasd')
{'a': None, 's': None, 'd': None}
>>> a
{'a': 1, 'b': '1231'}
>>> a.get('a')
1
>>> a.get('c')
>>> a.items()
dict_items([('a', 1), ('b', '1231')])
>>> a.keys()
dict_keys(['a', 'b'])
>>> a.pop('a')
1
>>> a
{'b': '1231'}
>>> a.popitem()
('b', '1231')
>>> a
{}
>>> a = {'a': 1, 'b': '1231'}
>>> a.setdefault('asd')
>>> a
{'a': 1, 'b': '1231', 'asd': None}
>>> a.setdefault('aaa', 'hah')
'hah'
>>> a
{'a': 1, 'b': '1231', 'asd': None, 'aaa': 'hah'}
>>> a.setdefault('aaa', 'hah')
'hah'
>>> a
{'a': 1, 'b': '1231', 'asd': None, 'aaa': 'hah'}
>>> a.values()
dict_values([1, '1231', None, 'hah'])
>>> a.update({'a1': 123, 'a2': 444})
>>> a
{'a': 1, 'b': '1231', 'asd': None, 'aaa': 'hah', 'a1': 123, 'a2': 444}