编写一个程序,实现根据字典的值查询并返回对应的键。函数的形参有两个,一个是被查询的字典,另一个是需要查询的值构成的列表;返回值为一个新的字典,该字典中每一个元素的键为需要查询的值,该字典的值为在原字典中查询到的键。例如:已知被查询的字典为: My_dict={"西安":"029","宝鸡":"0917","渭南":"0913","咸阳":"029","铜川":"0919","汉中":"0916","安康":"0915","商洛":"0914","延安":"0911","榆林":"0912"} 查询的列表为:["029","0913","0918"] 函数的返回结果应为:{'029': ['西安', '咸阳'], '0913': ['渭南'], '0918': []}
时间: 2023-05-22 16:04:09 浏览: 89
可以使用以下代码实现该程序:
```python
def search_dict(my_dict, search_list):
result_dict = {}
for item in search_list:
keys = [key for key, value in my_dict.items() if value == item]
result_dict[item] = keys
return result_dict
My_dict={"西安":"029","宝鸡":"0917","渭南":"0913","咸阳":"029","铜川":"0919","汉中":"0916","安康":"0915","商洛":"0914","延安":"0911","榆林":"0912"}
search_list = ["029","0913","0918"]
result = search_dict(My_dict, search_list)
print(result)
```
输出结果为:
```
{'029': ['西安', '咸阳'], '0913': ['渭南'], '0918': []}
```
相关问题
写一个函数形参是两个整数,返回两个整数中的大数,
好的,以下是一个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
```