Python基础(7):基本数据类型(dict)
字典(dict):
说明:字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中 。格式:d = {key1 : value1, key2 : value2 }
示例:
dict = {'name': 'nios', 'age': '100', 'sex': 'male'}
基本操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
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) """ def clear(self): # real signature unknown; restored from __doc__ """ D.clear() -> None. Remove all items from D. """ pass def copy(self): # real signature unknown; restored from __doc__ """ D.copy() -> a shallow copy of D """ pass @staticmethod # known case def fromkeys(*args, **kwargs): # real signature unknown """ Returns a new dict with keys from iterable and values equal to value. """ pass def get(self, k, d=None): # real signature unknown; restored from __doc__ """ D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """ pass def items(self): # real signature unknown; restored from __doc__ """ D.items() -> a set-like object providing a view on D's items """ pass def keys(self): # real signature unknown; restored from __doc__ """ D.keys() -> a set-like object providing a view on D's keys """ pass def pop(self, k, d=None): # real signature unknown; restored from __doc__ """ 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 """ pass def popitem(self): # real signature unknown; restored from __doc__ """ D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. """ pass def setdefault(self, k, d=None): # real signature unknown; restored from __doc__ """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """ pass def update(self, E=None, **F): # known special case of dict.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] """ pass def values(self): # real signature unknown; restored from __doc__ """ D.values() -> an object providing a view on D's values """ pass def __contains__(self, *args, **kwargs): # real signature unknown """ True if D has a key k, else False. """ pass def __delitem__(self, *args, **kwargs): # real signature unknown """ Delete self[key]. """ pass def __eq__(self, *args, **kwargs): # real signature unknown """ Return self==value. """ pass def __getattribute__(self, *args, **kwargs): # real signature unknown """ Return getattr(self, name). """ pass def __getitem__(self, y): # real signature unknown; restored from __doc__ """ x.__getitem__(y) <==> x[y] """ pass def __ge__(self, *args, **kwargs): # real signature unknown """ Return self>=value. """ pass def __gt__(self, *args, **kwargs): # real signature unknown """ Return self>value. """ pass def __init__(self, seq=None, **kwargs): # known special case of dict.__init__ """ 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) # (copied from class doc) """ pass def __iter__(self, *args, **kwargs): # real signature unknown """ Implement iter(self). """ pass def __len__(self, *args, **kwargs): # real signature unknown """ Return len(self). """ pass def __le__(self, *args, **kwargs): # real signature unknown """ Return self<=value. """ pass def __lt__(self, *args, **kwargs): # real signature unknown """ Return self<value. """ pass @staticmethod # known case of __new__ def __new__(*args, **kwargs): # real signature unknown """ Create and return a new object. See help(type) for accurate signature. """ pass def __ne__(self, *args, **kwargs): # real signature unknown """ Return self!=value. """ pass def __repr__(self, *args, **kwargs): # real signature unknown """ Return repr(self). """ pass def __setitem__(self, *args, **kwargs): # real signature unknown """ Set self[key] to value. """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ D.__sizeof__() -> size of D in memory, in bytes """ pass __hash__ = None
常用功能:
索引示例(索引值为key):
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict['name'])
print(name_dict['age'])
print(name_dict['sex'])
运行结果:
nios
100
male
无切片
获取所有的键:keys()
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.keys())
运行结果:
dict_keys(['name', 'age', 'sex'])
获取所有的值:values()
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.values())
运行结果:
dict_values(['nios', 100, 'male'])
获取所有的键值对:items()
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.items())
运行结果:
dict_items([('name', 'nios'), ('age', 100), ('sex', 'male')])
for循环示例(默认值输出key):
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
for i in name_dict:
print(i)
运行结果:
name
age
sex
for循环示例(获取键,值):
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
for k in name_dict.keys():
print(k)
print("--------------------")
for i in name_dict.values():
print(i)
print("--------------------")
for k,i in name_dict.items():
print(k)
print(i)
运行结果:
name
age
sex
--------------------
nios
100
male
--------------------
name
nios
age
100
sex
male
字典内部提供的其他功能:
clear(self):
说明:删除字典内所有元素。(返回None)
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
name_dict.clear()
print(name_dict)
运行结果:
{}
copy(self):
说明:暂时忽略。
fromkeys(*args, **kwargs):
说明:暂时忽略。
get(self, k, d=None):
说明:返回指定键的值,如果值不在字典中返回default值。 k:指定的键。d:default值,默认为无。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.get('name'))
print(name_dict.get('age'))
print(name_dict.get('sex'))
print(name_dict.get('address', 'error'))
运行结果:
nios
100
male
error
item(self):
说明:以列表返回可遍历的(键, 值) 元组数组。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.items())
运行结果:
dict_items([('name', 'nios'), ('age', 100), ('sex', 'male')])
keys(self):
说明:以列表返回一个字典所有的键。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.keys())
运行结果:
dict_keys(['name', 'age', 'sex'])
pop(self, k, d=None):
说明:删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。k:指定的键。d:defaulet值,默认为无。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.pop('name'))
print(name_dict)
运行结果:
nios
{'age': 100, 'sex': 'male'}
popitem(self):
说明:从尾部删除字典中的一对键和值。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
name_dict.popitem()
print(name_dict)
运行结果:
{'name': 'nios', 'age': 100}
setdefault(self, k, d=None):
说明:暂时忽略。
update(self, E=None, **F):
说明:把字典name_dict2的键/值对更新到name_dict1里。
name_dict1 = {'name': 'nios', 'age': 100}
name_dict2 = {'sex': 'male'}
name_dict1.update(name_dict2)
print(name_dict1)
运行结果:
{'name': 'nios', 'age': 100, 'sex': 'male'}
values(self):
说明:以列表返回字典中的所有值。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
print(name_dict.values())
运行结果:
dict_values(['nios', 100, 'male'])
del:
说明:删除指定索引的键值对。
name_dict = {'name': 'nios', 'age': 100, 'sex': 'male'}
del name_dict['age']
print(name_dict)
运行结果:
{'name': 'nios', 'sex': 'male'}

浙公网安备 33010602011771号