字典
先看一个简单的例子
alien = {'color': 'green', 'points': 5}
print(alien['color'])
print(alien['points'])
声明和访问的形式,跟java中json或是map的形式都有些类似。
- 添加和修改
字典是一个动态的结构,可以随时添加或者修改其中的键值对。要添加键—值对,可依次指定字典名、用方括号括起的键和相关。
alien = {}
#增加
alien['color'] = 'green'
print(alien['color'])
#修改
alien['color'] = 'red'
print(alien['color'])
- 删除键值对
alien = {'color': 'green', 'points': 5}
print(alien)
del alien[color]
print(alien)
- 遍历字典
alien = {'color': 'green', 'points': 5}
for key,value in alien.items():
print("\nkey:" + key)
print("value:" + str(value))
前面的两个变量名可以随便去设置,用于存储键值对中的键和值
- 遍历字典中的所有键
alien = {'color': 'green', 'points': 5}
for key in alien.keys():
print("\nkey:" + key)
当然你也可以对字典中的所有键进行排序
alien = {'color': 'green', 'points': 5}
for key in sorted(alien.keys()):
print("\nkey:" + key)
- 遍历字典中所有的值
alien = {'color': 'green', 'points': 5}
for value in alien.values():
print("\value:" + value)
你也可以对字典的值进行去重的操作:set()
alien = {'color': 'green', 'points': 5}
for value in set(alien.values()):
print("\value:" + value)
从上面的这些例子中,我们可以看到python字典的特性与java中的map是非常相似的,字典中的键不可重复,但是值可以重复。
- 字典与列表的嵌套
字典和列表都是存储数据的动态结构,任何内容都能够在其中存储,那么我们就可以在字典中存储列表,在列表中存储字典,在字典中存储字典,在列表中存储列表这些操作都是可以的。
#字典中存储列表
alien_1 = {
'list_1':['value_1','value_2']
}
#列表中存储字典
list_2 = [
{'key':'value'}
]
#字典中存储字典
alien_2 = {
'alien_3':{'key':'value'}
}
#列表中存储列表
list_3 = [
[value_1,value_2],
[value_3,value_4]
]
存储方式还是很灵活的,可以根据需求自由调整。