python字典排序

导读 在Python中,可以使用`sorted()`函数来对字典进行排序。这个函数默认会按照字典的键(key)进行排序。如果你想按照值(value)进行排序,你...

在Python中,可以使用`sorted()`函数来对字典进行排序。这个函数默认会按照字典的键(key)进行排序。如果你想按照值(value)进行排序,你可以提供一个自定义的排序关键字。以下是一些例子:

假设我们有一个字典如下:

```python

dict_data = {'Tom': 25, 'Jack': 30, 'Amy': 20, 'Lily': 28}

```

如果我们想按照键排序,可以直接使用`sorted()`函数:

```python

sorted_dict_by_key = sorted(dict_data.items())

print(sorted_dict_by_key) # 输出:[('Amy', 20), ('Jack', 30), ('Lily', 28), ('Tom', 25)]

```

如果我们想按照值排序,可以使用`sorted()`函数并提供一个lambda函数作为排序关键字:

```python

sorted_dict_by_value = sorted(dict_data.items(), key=lambda item: item[1]) # 按照值排序

print(sorted_dict_by_value) # 输出:[('Amy', 20), ('Tom', 25), ('Lily', 28), ('Jack', 30)]

```

注意,上述排序都是返回一个新的列表,原字典不会被改变。如果你想改变原字典的排序,你可以使用字典的`items()`方法和列表的`sort()`方法:

```python

dict_data.items().sort(key=lambda x: x[1]) # 直接改变原字典的排序

print(dict_data) # 输出:{'Amy': 20, 'Tom': 25, 'Lily': 28, 'Jack': 30}

```

注意:Python的字典是无序的,这意味着你不能保证键值对的顺序。因此,尽管你可以改变字典中键值对的排序,但在打印或访问字典时,你仍然不能保证特定的顺序。如果你需要一个有序的版本,你可以考虑使用`collections.OrderedDict`。

版权声明:本文由用户上传,如有侵权请联系删除!