【发布时间】:2014-10-24 15:04:31
【问题描述】:
我有一个包含两个字符串和一个空格的元素列表。我想计算元素的唯一数量并对列表进行排序。
plist = ('burleson both', 'the largemouth', 'the largemouth', 'a 19inch', 'his first')
所以想得到以下:
plist = [('the largemouth',2), ('burleson both', 1), ('a 19inch', 1), ('his first', 1)]
我尝试了以下方法,但似乎创建了多个冗余列表:
unique_order_list = {}
for item in plist:
unique_order_list[item] = plist.count(item)
d = OrderedDict(sorted(unique_order_list.items(), key=operator.itemgetter(1), reverse=True))
感谢任何帮助。谢谢!
【问题讨论】:
-
'the largemouth', 'for largemouth'- 他们都一样吗? -
你能把问题说清楚一点吗?你说你想计算“元素的唯一数量”,这是什么意思? 'the largemouth' 和 'for largemouth' 不一样,你将它们算作相同,但在 'the largemouth' 下。我们需要更多背景信息。
-
抱歉,我更新了问题。 'the largemouth' 元素应该在那里出现两次。
-
@user2743 您正在使用
OrderedDict,但largemouth和burleson both仍然出现故障。为什么?
标签: python list ordereddictionary