输入字典的键和键值对,输出最大键值对应的全部键。输入无效时输出“error”,要求:1.编写函数getkeys(d),返回字典d的最大键值对应的键组成的列表。
时间: 2024-04-30 11:24:27 浏览: 123
以下是 Python 代码实现:
```python
def getkeys(d):
if not isinstance(d, dict):
return "error"
if len(d) == 0:
return [] # 空字典返回空列表
max_val = max(d.values())
return [k for k, v in d.items() if v == max_val]
```
函数`getkeys`接受一个字典作为参数,首先判断参数是否为字典类型,如果不是则返回`"error"`。如果字典为空,则返回空列表`[]`。
然后,使用Python内置函数`max`求出字典中的最大值。接着使用列表推导式,遍历字典中的每个键值对,将键值为最大值的键添加到结果列表中,最后返回结果列表。
以下是函数使用示例:
```python
d = {"a": 1, "b": 2, "c": 3, "d": 2}
print(getkeys(d)) # 输出 ['c']
d = {"a": 1, "b": 1}
print(getkeys(d)) # 输出 ['a', 'b']
d = {}
print(getkeys(d)) # 输出 []
d = "not a dict"
print(getkeys(d)) # 输出 'error'
```
阅读全文