我道歉我不确定Python的术语。
我有一个名为“Word”的类,它所做的是计算并将给定文本文件中的所有单词存储为元组I.e.
self.listName = [('world', 2), ('hello', 3), ('stack', 1), ('overflow', 2)]
其中索引0的项是单词,索引1是出现。它存储在类“word”中。
是否可以使用listName.sort()
或
sorted(listName, key=lambda Word: Word[0])
给我以下列表:
self.listName = [('hello', 3), ('overflow', 2), ('stack', 1), ('world', 2)]
我想尝试使用它而不是尝试创建一个新的排序功能(我相信我能做到,但我没有成功)?
我想我还应该提到List和Word类在不同的类中(如果这有所不同)。
提前谢谢!答案 0 :(得分:2)
您根本不需要指定key
,
listName = [('world', 2), ('hello', 3), ('stack', 1), ('overflow', 2)]
print(sorted(listName))
<强>输出强>
[('hello', 3), ('overflow', 2), ('stack', 1), ('world', 2)]
有关如何进行此比较的详细信息,请查看此文档页面Comparing Sequences and Other Types
答案 1 :(得分:0)
要对列表进行排序,
listname.sort(key=lambda x:x[0])
应按字母顺序对列表进行排序。
此外,您可能想要查找
collections.counter
因为它与你正在做的事情有类似的目的
答案 2 :(得分:0)
我实际上让它工作,我需要一个“over rider方法”(? - 我需要定义__lt__来比较Word()的str元素),因为我收到了这个错误: TypeError:unorderable类型:str()&lt;字()