本文章总结了董付国老师的Pthon程序设计(第2版)书的内容,仅供个人学习使用,如有侵权,立刻删除 by:mfdy
文章链接:mfdy’s blog: Python 序列
CSDN目录:https://blog.csdn.net/mofadiyu/article/details/90178542
字典是“键-值对”的无序可变序列,字典中的每个元素包含两个部分:“键”和“值”。
定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{}”中。
字典中的键可以为任意不可变数据,比如整数、实数、复数、字符串、元组等等。
=
将一个字典赋值给一个变量即可创建一个字典变量a_dict = {'asd':'qwe', 'zxc':'2'}
>>> a_dict
{'asd': 'qwe', 'zxc': '2'}
keys = ['a', 'b', 'c', 'd']
values = [1, 2, 3, 4]
dictionary = dict(zip(keys, values))
>>> dictionary
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
同时,也可创建空字典
x = dict()
>>> x
{}
d = dict(name='Dong', age=37)
>>> d
{'name': 'Dong', 'age': 37}
adict = dict.fromkeys(['name', 'age', 'sex'])
>>> adict
{'name': None, 'age': None, 'sex': None}
aList = ['name', 'age', 'sex']
adict = dict.fromkeys(aList, 10)
>>> adict
{'name': 10, 'age': 10, 'sex': 10}
adict = dict.fromkeys('age', 5)
>>> adict
{'a': 5, 'g': 5, 'e': 5}
adict = dict.fromkeys(['age'], 5)
>>> adict
{'age': 5}
aDict = {'name':'Dong', 'sex':'male', 'age':37}
>>> aDict['name']
Dong
>>> aDict['tel']
Traceback (most recent call last):
File "1.py", line 3, in <module>
print(aDict['tel'])
KeyError: 'tel'
get()方法语法:
dict.get(key, default = None)
其中:
key – 字典中要查找的键。
default – 如果指定键的值不存在时,返回该默认值值。
get()函数返回指定键的值,如果值不在字典中返回默认值None。
>>> print(aDict.get('address'))
None
>>> print(aDict.get('address', 'SDIBT'))
SDIBT
aDict['score'] = aDict.get('score',[])
aDict['score'].append(98)
aDict['score'].append(97)
>>> aDict
{'score': [98, 97]}
aDict = {'name':'Dong', 'sex':'male', 'age':37}
for item in aDict.items():
print(item)
for key in aDict.keys():
print(key)
for value in aDict.values():
print(value)
for key, value in aDict.items():
print(key, value)
输出结果为:
('name', 'Dong')
('sex', 'male')
('age', 37)
name
sex
age
Dong
male
37
name Dong
sex male
age 37
# 修改元素值
>>> aDict['age'] = 38
>>> aDict
{'age': 38, 'name': 'Dong', 'sex': 'male'}
# 增加新元素
>>> aDict['address'] = 'SDIBT'
>>> aDict
{'age': 38, 'address': 'SDIBT', 'name': 'Dong', 'sex': 'male'}
aDict = {'age': 37, 'score': [98, 97], 'name': 'Dong', 'sex': 'male'}
aDict.update({'a':'a','b':'b'})
>>> (aDict)
{'age': 37, 'score': [98, 97], 'name': 'Dong', 'sex': 'male', 'a': 'a', 'b': 'b'}
aDict.update({'a':'dss','b':'afd'})
>>> print(aDict)
{'age': 37, 'score': [98, 97], 'name': 'Dong', 'sex': 'male', 'a': 'dss', 'b': 'afd'}
import collections
x = collections.OrderedDict()
x['b'] = 5
x['a'] = 3
x['c'] = 8
>>> x
OrderedDict([('b', 5), ('a', 3), ('c', 8)])