python list按某个字符串类型的字段排序
时间: 2023-08-13 18:09:07 浏览: 46
你可以使用Python中的sort()方法和lambda函数来按照列表中某个字符串类型的字段进行排序。例如,假设你有一个包含字典元素的列表,其中每个字典都有一个'name'键,你可以按照'name'字段的字母顺序对列表进行排序,代码如下:
```
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Cathy', 'age': 20}]
my_list.sort(key=lambda x: x['name'])
print(my_list)
```
输出结果应该为:
```
[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Cathy', 'age': 20}]
```
这将按照'name'字段的字母顺序对列表进行排序。如果你想反向排序,只需要在key参数中传递reverse=True即可。
相关问题
list 集合根据字符串日期字段排序
假设你有一个包含多个字典的列表,每个字典都有一个字符串日期字段。你可以使用 Python 的 `sorted` 函数和 `datetime` 模块来对该列表进行排序。
首先,需要将字符串日期转换为 `datetime` 对象。然后,使用 `sorted` 函数并指定 `key` 参数为该对象,以按日期排序。
下面是一个示例代码:
```python
from datetime import datetime
data = [
{'date': '2021-10-10', 'name': 'John'},
{'date': '2021-10-08', 'name': 'Jane'},
{'date': '2021-10-12', 'name': 'Bob'}
]
sorted_data = sorted(data, key=lambda x: datetime.strptime(x['date'], '%Y-%m-%d'))
print(sorted_data)
```
输出结果应该为:
```
[{'date': '2021-10-08', 'name': 'Jane'}, {'date': '2021-10-10', 'name': 'John'}, {'date': '2021-10-12', 'name': 'Bob'}]
```
可以看到,列表已按日期排序。
python list 筛选某个字符串
好的,您可以使用Python列表推导式来筛选包含特定字符串的元素,例如:
```
my_list = ['apple', 'banana', 'orange', 'kiwi', 'pear']
filtered_list = [x for x in my_list if 'an' in x]
print(filtered_list)
```
输出将会是:
```
['banana', 'orange']
```
解释一下,上面的列表推导式首先遍历了my_list中的每个元素,并将其存储在x中,接着它使用 `if` 子句来检查x中是否包含特定的字符串`'an'` ,如果查找成功,则将x添加到filtered_list中。最后,我们打印出过滤后的列表。