使用字典

一。字典

    字典由键以及相应的值组成,这种j键值对被称为,项。每个键与其值之间都用冒号分隔,项与项之间用逗号分隔。整个字典放在花括号中。在字典中,键必须是独一无二的,而值无需如此。

1.函数dict

可使用函数dict从其他映射或键值对序列创建字典。

 items=[('name','Gumby'),('age',42)]
>>> d=dict(items)
>>> d
{'name': 'Gumby', 'age': 42}
>>> d=dict(name='Gumby',age=42)
>>> d
{'name': 'Gumby', 'age': 42}

如果是这样,将会报错,传入的必须是映射或者键值对。

 items=[('name','zore','yyy')]
>>> d=dict(items)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 3; 2 is required

2.字典的基本操作

1 len(d)返回字典d包含的项数
2 d[k]返回与键k相关联的值
3 d[k]=v将值v关联到键k
4 del d[k]删除键为k的项
5 k in d检查字典d是否包含键为k的项

3.、添加项

>>> d[55]='ooo'
>>> d
{'name': 'Gumby', 'age': 42, 55: 'ooo'}
>>> d.update(time='100',age='45'>>> d
{'name': 'Gumby', 'age': '45', 55: 'ooo', 'time': '100'}
>>> d.update(title='Python Language Website')
>>> d
{'name': 'Gumby', 'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}
>>> d.update(name=fromzore)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'fromzore' is not defined
>>> d.update(name='zore')
>>> d
{'name': 'zore', 'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}

新项,值是字符串必须带引号,键可不必。

4.删除项

pop()是返回并删除项,需要参数。popitem()随机的删除字典项,不需要参数。虽然我试验的的时候,是由后往前逐个删除,但是的确是随机的,可能是我运气太好。

>>> d.pop('name')
'zore'
>>> d
{'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}
>>> d.popitem()
('title', 'Python Language Website')
>>> d
{'age': '45', 55: 'ooo', 'time': '100'}
>>> d.popitem()
('time', '100')
>>> d.popitem()
(55, 'ooo')

5、清空项

>>> d.clear()
>>> d
{}

6、keys和values

方法keys返回一个字典视图,其中包含制定字典中的键,方法values返回一个由字典中的值组成的字典视图。

>>> d[1]=1
>>> d[2]=2
>>> d
{1: 1, 2: 2}
>>> d.values()
dict_values([1, 2])
>>> d.keys()
dict_keys([1, 2])
>>> d[3]=3
>>> d[4]=1
>>> d
{1: 1, 2: 2, 3: 3, 4: 1}
>>> d.keys()
dict_keys([1, 2, 3, 4])
>>> d.values()
dict_values([1, 2, 3, 1])

7、items方法

方法items返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式。字典项在列表中的排列顺序不确定。

>>> d.items()
dict_items([(1, 1), (2, 2), (3, 3), (4, 1)])

返回值属于一种名为字典视图的特殊类型。视图的一个优点是不复制,他们始终是底层字典的反映

>>> it=d.items()
>>> (4,1) in it
True
>>> d[4]=4
>>> (4,1) in it
False
原文地址:https://www.cnblogs.com/fromzore/p/8653865.html