【Python 练习题】将列表转化为字典等练习题
在 Python 中,字典
是一种key-value
键值对的数据结构,类似 JSON 一样;字典中的键是唯一的。
练习 1:将下面的两个列表转换为字典
keys = ['Ten', 'Twenty', 'Thirty']
values = [10, 20, 30]
预期输出:
{'Ten': 10, 'Twenty': 20, 'Thirty': 30}
参考代码:
可以使用 Python 中的zip
函数,将两个列表传入字典
,分别作为字典的key
键和value
值
keys = ['Ten', 'Twenty', 'Thirty']
values = [10, 20, 30]
sampleDict = dict(zip(keys, values))
print(sampleDict)
练习 2:将下面的两个 Python 词典合并
dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}
dict2 = {'Thirty': 30, 'Fourty': 40, 'Fifty': 50}
预期输出:
{'Ten': 10, 'Twenty': 20, 'Thirty': 30, 'Fourty': 40, 'Fifty': 50}
参考代码:
Python 中的字典可以使用两个星号*
,将 2 个字典再组合成 1 个字典
dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}
dict2 = {'Thirty': 30, 'Fourty': 40, 'Fifty': 50}
dict3 = {**dict1, **dict2}
print(dict3)
也可以使用字典的update
方法,将 2 个字典合并
dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}
dict2 = {'Thirty': 30, 'Fourty': 40, 'Fifty': 50}
dict3 = dict1.copy()
dict3.update(dict2)
print(dict3)
练习 3:获取字典中的值:获取下列字典键为 'history' 的值
sampleDict = {
"class":{
"student":{
"name":"Mike",
"marks":{
"physics":70,
"history":80
}
}
}
}
预期输出:
80
参考代码:
依次访问字典中的键即可
print(sampleDict['class']['student']['marks']['history'])
练习 4:将下面字典中部分件提取出来成为新的字典
sampleDict = {
"name": "Kelly",
"age":25,
"salary": 8000,
"city": "New york"
}
要提取的键
keys = ["name", "salary"]
预期输出:
{'name': 'Kelly', 'salary': 8000}
参考代码:
使用字典生成式,将要提取的键依次传入提取,再生成新的字典即可
sampleDict = {
"name": "Kelly",
"age":25,
"salary": 8000,
"city": "New york" }
keys = ["name", "salary"]
newDict = {k: sampleDict[k] for k in keys}
print(newDict)
练习 5:从字典中删除一组键
sampleDict = {
"name": "Kelly",
"age":25,
"salary": 8000,
"city": "New york"
}
keysToRemove = ["name", "salary"]
预期输出:
{'city': 'New york', 'age': 25}
参考代码:
使用字典生成式,将要删除的键从原来的键中去除,再生成新的字典即可
sampleDict = {
"name": "Kelly",
"age":25,
"salary": 8000,
"city": "New york"
}
keysToRemove = ["name", "salary"]
sampleDict = {k: sampleDict[k] for k in sampleDict.keys() - keysToRemove}
print(sampleDict)
今天的练习主要用到了Python中字典的zip方法,以及字典生成器等,大家都学会了吗?