字典定义
1.字典是存储信息的一种方式。
2.字典以键-值对存储信息,因此字典中的任何一条信息都与至少一条其他信息相连。
3.字典的存储是无序的,因此可能无法按照输入的顺序返回信息。
Python 中定义字典
dictionary_name = {key_1: value_1, key_2: value_2}
为了更明显的显示数据,通常写成下面的格式:
dictionary_name = {key_1: value_1,
key_2: value_2
}
字典的基本用法
定义一个字典:
把 list、dictionary、function 的解释写成一个字典,请按下面的格式输出 dictionary 和 function 的定义
python_words = {'list': '相互没有关系,但具有顺序的值的集合',
'dictionary': '一个键-值对的集合',
'function': '在 Python 中定义一组操作的命名指令集',
}
print("\n名称: %s" % 'list')
print("解释: %s" % python_words['list'])
字典的基本操作
逐个输出字典中的词条过于麻烦,因此可以使用循环输出
# name 和 meaning 可以随意该名称,试试改成 word 和 word_meaning
for name, meaning in python_words.items():
print("\n名称: %s" % name)
print("解释: %s" % meaning)
# 还有几种其他的输出方式,动手试一下。
print("***********************************************")
for word in python_words:
print("%s" % word)
print("***********************************************")
for word in python_words.keys():
print(word)
print("***********************************************")
for meaning in python_words.values():
print("值: %s" % meaning)
print("***********************************************")
for word in sorted(python_words.keys()):
print("%s: %s" % (word, python_words[word]))
给字典加入新的键-值对:
# 定义一个空字典
python_words = {}
# 给字典加入新项(词条):使用 字典名[键名] = 值 的形式可以给字典添加一个键-值对
python_words['Joker'] ='会玩 LOL'
python_words['Burning'] = '会玩 DOTA'
python_words['Elingsama'] = '会玩炉石传说'
def showMeanings(dictionary):
for name, meaning in dictionary.items():
print("\n名称: %s" % name)
print("解释: %s" % meaning)
修改字典中的值:
# 使用 字典名[键名] = 新值 的形式更改已经存在的键-值对
python_words['Joker'] = 'LOL 的恶魔小丑'
print('\nJoker: ' + python_words['Joker'])
删除字典中的项:
# 返回 Joker 对应的值,同时删除 Joker 的键-值对
_ = python_words.pop('Joker')
# 删除 Buring 的键-值对
del python_words['Burning']
print(_)
修改键名:
# 1.创建一个新键
# 2.将要更换键名的值赋给新键
python_words['elingsama'] = python_words['Elingsama']
del python_words['Elingsama']
showMeanings(python_words)
嵌套
嵌套包括把列表或字典放在另一个列表或字典中。
值为列表的字典
favorite_numbers = {'eric': [3, 11, 19, 23, 42],
'ever': [2, 4, 5],
'willie': [5, 35, 120],
}
通过 字典名[词条名][词条内位置] 访问
print(favorite_numbers['eric'][0])
值为字典的字典
sparse_matrix = {}
sparse_matrix[0] = {1: 12.3, 23: 25.5}
sparse_matrix[1] = {3: 12.0, 15: 25.5}
# 打印出来看下上述字典的样子
print('sparse_matrix = {')
for key, value in sparse_matrix.items():
print(key,':',value)
print('}')
# 通过 字典名[词条名][词条内属性名] 访问
print(sparse_matrix[0][23])
虽然一层嵌套很有用,但是随着层级的增多,嵌套难度会增大。Python 中一些其他的结构,比如类,也可以有效的把数据组织成某种结构。如果从数据库或者其他地方获得了很深的嵌套数据,处理起来就会很麻烦,因此尽量控制嵌套的深度很有必要。
网友评论