要按类属性和今天的日期对字典进行排序,可以按照以下步骤进行操作:
创建一个包含字典的列表,每个字典表示一个对象,每个字典包含类属性和日期属性。
data = [
{'class': 'A', 'date': '2022-01-01'},
{'class': 'B', 'date': '2022-01-02'},
{'class': 'A', 'date': '2022-01-03'},
{'class': 'C', 'date': '2022-01-04'},
# ...
]
导入 datetime
模块以获取今天的日期。
from datetime import datetime
today = datetime.today().strftime('%Y-%m-%d')
使用 sorted()
函数对列表进行排序,传入一个自定义的比较函数。
sorted_data = sorted(data, key=lambda x: (x['class'], x['date']))
定义一个比较函数,该函数首先对类属性进行比较,如果类属性相同,则比较日期属性。
def compare_dict(item):
return (item['class'], item['date'])
将排序后的结果打印出来。
for item in sorted_data:
print(item)
完整代码示例:
from datetime import datetime
data = [
{'class': 'A', 'date': '2022-01-01'},
{'class': 'B', 'date': '2022-01-02'},
{'class': 'A', 'date': '2022-01-03'},
{'class': 'C', 'date': '2022-01-04'},
# ...
]
today = datetime.today().strftime('%Y-%m-%d')
sorted_data = sorted(data, key=lambda x: (x['class'], x['date']))
for item in sorted_data:
print(item)
这样,就可以按类属性和今天的日期对字典进行排序。