《Python数据挖掘与机器学习实战》—2.6 Python的字典
2.6 Python的字典
字典是另一种可变容器模型,并且可存储任意类型的对象。
字典的每个键值对(key-value)用冒号分隔,每个键值对之间用逗号分隔,整个字典包括在花括号中,格式如下:
dict = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复,最后一个键值对就会替换前面的,值不需要唯一。例如:
dict = {'a': 1, 'b': 2, 'b': '3'}
print(dict['b'])
print(dict)
输出结果为:
3
{'a': 1, 'b': '3'}
值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。这里给出一个简单的字典实例:
dict = {'Alice': '20', 'Beth': '21', 'Cecil': '22'}
也可如此创建字典:
dict1 = { 'abc':123}
dict2 = { 'abc': 123, 98: 37 }
如果要访问字典里的值,只要把相应的键放入熟悉的方括号中即可,例如:
dict = {'Name': 'xioaming', 'Age': 20, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
输出结果为:
dict['Name']: xioaming
dict['Age']: 20
如果用字典里没有的键访问数据,则会输出错误,例如:
dict = {'Name': 'xioaming', 'Age': 20, 'Class': 'First'}
print ("dict[xiaowang']: ", dict['xiaowang'])
输出结果为:
Traceback (most recent call last):
File "F:/program/2.6.py", line 19, in <module>
print ("dict[xiaowang']: ", dict['xiaowang'])
KeyError: 'xiaowang'
向字典添加新内容的方法是增加新的键/值对,示例如下:
dict = {'Name': 'xioaming', 'Age': 20, 'Class': 'First'}
dict['Age'] = 22 #修改年龄
dict['School'] = "NUIST" #添加新的键/值对
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
输出结果为:
dict['Age']: 22
dict['School']: NUIST
在字典操作中,能删除单一的元素也能清空字典,删除一项只需要删除其键的内容。删除一个字典用del命令,示例如下:
dict = {'Name': 'xioaming', 'Age': 20, 'Class': 'First'}
del dict['Name'] #删除键是'Name'的条目
dict.clear() #清空词典所有条目
del dict #删除词典
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
但这会引发一个异常,因为用del后字典不再存在:
Traceback (most recent call last):
File "F:/program/DCGAN-tensorflow-master/2.6.py", line 34, in <module>
print ("dict['Age']: ", dict['Age'])
TypeError: 'type' object is not subscriptable
- 点赞
- 收藏
- 关注作者
评论(0)