gpt4 book ai didi

python - 按两个不同的键对字典列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:50 25 4
gpt4 key购买 nike

我正在尝试解析 csv 文件,并希望按升序章节对输出进行排序,然后按主题键排序(同时保持章节顺序)。

我已成功对下面的章节进行排序,但无法在保留章节顺序的同时按主题排序。

In [35]: d = DictReader(open('gatsby-test.csv', 'rb'))

In [36]: rows = []

In [37]: for row in d:
....: rows.append(row)
....:

In [38]: sorted_d = sorted(rows, key=lambda item: item['chapter'])

In [39]: sorted_d
Out[39]:
[{'chapter': 'Chapter 1',
'character': 'Nick Carraway',
'explanation': 'explanation one',
'quote': '"quote one"',
'theme': 'love'},
{'chapter': 'Chapter 2',
'character': 'Daisy Buchanan',
'explanation': 'explanation two',
'quote': '"quote two"',
'theme': 'wealth'},
{'chapter': 'Chapter 2',
'character': 'Jordan Baker',
'explanation': 'explanation five',
'quote': '"quote five"',
'theme': 'dissatisfaction'},
{'chapter': 'Chapter 3',
'character': 'Daisy Buchanan',
'explanation': 'explanation four',
'quote': '"quote four"',
'theme': 'isolation'},
{'chapter': 'Chapter 3',
'character': 'Daisy Buchanan',
'explanation': 'explanation three',
'quote': '"quote three"',
'theme': 'isolation'}]

最佳答案

如果你改变这一行

sorted_d = sorted(rows, key=lambda item: item['chapter'])

sorted_d = sorted(rows, key=lambda item: (item['chapter'], item['theme']))

它会起作用。

关于python - 按两个不同的键对字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19549155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com