字典:字典有时又叫关联数组(associative array)或散列表(hash),它通过一些列值联系起来,可以使用键从字典中取值
----字典为任意对象的无序集合
----字典可变长,异构,任意嵌套
----字典不能通过相对偏移来取值,只能通过键的索引
常见字典常量和操作
d={} | 空字典 |
d={'spam':2,'eggs':3} | 两项目字典 |
d={'food':{'ham':1,'egg':2}} | 嵌套 |
d=dict.fromkeys(['a','b']) | 其他构造技术 |
d=dict(zip(keyslist,valslist)) | 关键字,对应的对、键列表 |
d=dict(name='bob',age=42) | |
d['eggs'] | 以键进行索引运算 |
d['food']['ham'] | |
'eggs' in d | 成员关系:键存在测试 |
d.keys() | 方法:键 |
d.values() | 方法:值 |
d.items() | 方法:键+值 |
d.copy() | 方法:字典副本 |
d.get(key,default) | 方法:键不存在时,取出默认值 |
d.update(d2) | 方法:合并 |
d.pop(key) | 方法:删除一个键,返回其值 |
len(d) | 字典长度 |
d[key]=42 | 新增/修改键,删除键 |
del d [key] | 根据键删除条目 |
list(d.keys()) | 字典视图 |
d1.keys()&d2,keys() | |
dictionary views(python 3.0) | |
d={x:x*2 for x in range(10)} | 字典解析 |
字典文档
Help on class dict in module builtins:
class dict(object)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object's
| (key, value) pairs
| dict(iterable) -> new dictionary initialized as if via:
| d = {}
| for k, v in iterable:
| d[k] = v
| dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
|
| Methods defined here:
|
| __contains__(self, key, /)
| True if the dictionary has the specified key, else False.
|
| __delitem__(self, key, /)
| Delete self[key].
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __gt__(self, value, /)
| Return self>value.
|
| __init__(self, /, *args, **kwargs)
| Initialize self. See help(type(self)) for accurate signature.
|
| __iter__(self, /)
| Implement iter(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __len__(self, /)
| Return len(self).
|
| __lt__(self, value, /)
| Return self<value.
|
| __ne__(self, value, /)
| Return self!=value.
|
| __repr__(self, /)
| Return repr(self).
|
| __setitem__(self, key, value, /)
| Set self[key] to value.
|
| __sizeof__(...)
| D.__sizeof__() -> size of D in memory, in bytes
|
| clear(...)
| D.clear() -> None. Remove all items from D.
|
| copy(...)
| D.copy() -> a shallow copy of D
|
| get(self, key, default=None, /)
| Return the value for key if key is in the dictionary, else default.
|
| items(...)
| D.items() -> a set-like object providing a view on D's items
|
| keys(...)
| D.keys() -> a set-like object providing a view on D's keys
|
| pop(...)
| 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
|
| popitem(...)
| D.popitem() -> (k, v), remove and return some (key, value) pair as a
| 2-tuple; but raise KeyError if D is empty.
|
| setdefault(self, key, default=None, /)
| Insert key with a value of default if key is not in the dictionary.
|
| Return the value for key if key is in the dictionary, else default.
|
| update(...)
| D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
| If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
| If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
| In either case, this is followed by: for k in F: D[k] = F[k]
|
| values(...)
| D.values() -> an object providing a view on D's values
|
| ----------------------------------------------------------------------
| Class methods defined here:
|
| fromkeys(iterable, value=None, /) from builtins.type
| Create a new dictionary with keys from iterable and values set to value.
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __hash__ = None