编写一个程序,实现根据字典的值查询并返回对应的键。函数的形参有两个,一个是被查询的字典,另一个是需要查询的值构成的列表;返回值为一个新的字典,该字典中每一个元素的键为需要查询的值,该字典的值为在原字典中查询到的键。例如:已知被查询的字典为: # # My_dict={"西安":"029","宝鸡":"0917","渭南":"0913","咸阳":"029","铜川":"0919","汉中":"0916","安康":"0915","商洛":"0914","延安":"0911","榆林":"0912"} # 查询的列表为:["029","0913","0918"] # 函数的返回结果应为:{'029': ['西安', '咸阳'], '0913': ['渭南'], '0918': []}
时间: 2023-05-22 21:03:24 浏览: 58
该程序的实现如下:
def find_keys(dic, vals):
result = {}
for val in vals:
for key, value in dic.items():
if value == val:
result[val] = key
return result
# 示例字典
dic = {'apple': 1, 'banana': 2, 'orange': 3}
# 查询值列表
vals = [2, 3]
# 查询结果
print(find_keys(dic, vals))
# 输出:
# {2: 'banana', 3: 'orange'}
# 返回一个新的字典,其中每一个元素的键为需要查询的值,该字典的值为在原字典中查询到的键。
相关问题
写一个函数形参是两个整数,返回两个整数中的大数,
好的,以下是一个Python函数,可以实现你所需要的功能:
```python
def max_of_two(num1, num2):
if num1 > num2:
return num1
else:
return num2
```
这个函数接收两个整数作为参数,然后比较它们的大小。如果第一个整数比第二个整数大,那么函数就返回第一个整数;否则,函数返回第二个整数。
编写一个函数swap,实现两个整形变量的交换,要求形参为指针或数组
好的,这是一个简单的C语言函数,可以实现两个整型变量的交换,形参为指针:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
使用方法如下:
```c
int x = 1, y = 2;
swap(&x, &y);
printf("x=%d, y=%d\n", x, y); // 输出 x=2, y=1
```
如果要使用数组作为形参,可以稍微修改一下:
```c
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
使用方法如下:
```c
int arr[] = {1, 2};
swap(arr, 0, 1);
printf("arr[0]=%d, arr[1]=%d\n", arr[0], arr[1]); // 输出 arr[0]=2, arr[1]=1
```