python 字典的value有很多属性,我想找到所有键值对中某个属性最小的key
时间: 2024-02-09 21:08:14 浏览: 63
如果字典中的 value 有多个属性,需要找到某一个属性最小的 key,可以使用类似上面的方法,只需要将 lambda 表达式中的 `'value'` 改为需要比较的属性即可。
假设有如下字典:
```python
my_dict = {'a': {'value1': 3, 'value2': 5}, 'b': {'value1': 2, 'value2': 6}, 'c': {'value1': 5, 'value2': 4}}
```
如果要按照字典 value 中的 `'value1'` 属性查找最小值对应的 key,可以使用如下代码:
```python
min_key = min(my_dict, key=lambda x: my_dict[x]['value1'])
```
执行完上述代码后,`min_key` 的值为 `'b'`,即字典中 `'value1'` 属性最小的 key。
如果想要找到多个属性中某一个属性最小的 key,可以使用 `min` 函数的 `key` 参数传入一个元组,元组中包含需要比较的多个属性即可。例如,如果要按照 `'value1'` 和 `'value2'` 两个属性比较,可以使用如下代码:
```python
min_key = min(my_dict, key=lambda x: (my_dict[x]['value1'], my_dict[x]['value2']))
```
执行完上述代码后,`min_key` 的值为 `'b'`,即字典中 `'value1'` 和 `'value2'` 属性组合最小的 key。
阅读全文