python字典考题
时间: 2023-09-07 21:01:41 浏览: 159
python中的字典是一种可变的数据类型,它是由一系列键-值对组成的,键和值之间用冒号“:”分隔,键-值对之间用逗号“,”分隔。字典中的键是唯一的,且只能是不可变的数据类型,如字符串、数字或元组,而值可以是任意数据类型,包括列表、字典等。
考题1:
```python
dict1 = {"apple": 3, "orange": 2, "banana": 4}
dict2 = {"orange": 5, "kiwi": 6, "pear": 1}
# 合并两个字典,如果有重复的键,则将对应值相加
def merge_dicts(dict1, dict2):
for key, value in dict2.items():
if key in dict1:
dict1[key] += value
else:
dict1[key] = value
return dict1
merged_dict = merge_dicts(dict1, dict2)
print(merged_dict)
```
输出结果为:
```
{"apple": 3, "orange": 7, "banana": 4, "kiwi": 6, "pear": 1}
```
解析:
以上代码中,首先定义了一个merge_dicts函数,该函数用于合并两个字典。在函数中,通过遍历dict2字典的所有键-值对,判断如果该键已经存在于dict1字典中,则将对应值相加,否则将该键-值对添加到dict1中。最后返回合并后的字典。
在主程序中,调用merge_dicts函数并将dict1和dict2作为参数传入,将合并后的字典赋值给merged_dict,并输出merged_dict的结果。
考题2:
```python
def count_letters(string):
letter_count = {}
for letter in string:
if letter.isalpha():
if letter in letter_count:
letter_count[letter] += 1
else:
letter_count[letter] = 1
return letter_count
string = "Hello, Python!"
letter_count = count_letters(string)
print(letter_count)
```
输出结果为:
```
{'H': 1, 'e': 1, 'l': 2, 'o': 2, 'P': 1, 'y': 1, 't': 1, 'n': 1}
```
解析:
以上代码中,定义了一个count_letters函数,该函数用于统计字符串中每个字母出现的次数。在函数中,通过遍历字符串的每个字符,判断如果该字符是字母,则判断是否已存在于字典letter_count中。如果存在,则将对应值加1;如果不存在,则将该字母作为键,初始值为1添加到letter_count字典中。最后返回letter_count字典。
在主程序中,调用count_letters函数,并将字符串"Hello, Python!"作为参数传入,将返回的letter_count字典赋值给letter_count,最后输出letter_count的结果。
阅读全文