对重复元素进行排序

时间:2017-07-29 22:56:37

标签: python python-3.x

我尝试做的是编写一个函数sort_repeated(L),它返回列表L中重复元素的排序列表。

例如,

<h1>Thank You</h1>
<p>Thank you, {% contact_info.name %}</p>

但是,我的代码无法正常运行。我的代码中我做错了什么?

>>sort_repeated([1,2,3,2,1])
[1,2]

2 个答案:

答案 0 :(得分:0)

如果字典中没有密钥,

{ "result": { "source": "agent", "resolvedQuery": "city", "action": "tell.facts", "actionIncomplete": false, "parameters": { "facts-category": "city" }, "contexts": [], "metadata": { "intentId": "873b1895-cdfc-42a4-b61b-5a1703c72a4d", "webhookUsed": "true", "webhookForSlotFillingUsed": "false", "webhookResponseTime": 417, "intentName": "tell-facts" }, "fulfillment": { "speech": "Amsterdam", "messages": [ { "type": 0, "speech": "Amsterdam" } ] }, "score": 1 } } 将失败。看看这个网站上的各种计数器配方,而不是使用一个。

此外,如果if count[num]:是空序列,则not nums为真,这意味着将永远不会执行循环体。反转条件。

答案 1 :(得分:0)

使用计数器并检查大于1的值

from collections import Counter

def sort_repeated(_list):
    cntr = Counter(_list)
    print sorted([x for x in cntr.keys() if cntr[x] > 1])

sort_repeated([7, 7, 1, 2, 3, 2, 1, 4, 3, 4, 6, 5])
>> [1, 2, 3, 4, 7]