python - 按频率对字符串列表(URL)进行排序并删除重复项

标签 python algorithm dictionary data-structures

我已经给出了包含网站 URL 的列表。如果元素出现频率相同,则按字典顺序对它们进行排序,无需导入任何额外的库或包。

def solve (S, N):
    # write your code here
    n = len(S)
    dict = {}
    for i in S:
        if i in dict:
            dict[i]+=1
        else:
            dict[i]=0
    return dict

我尝试这样做,但是具有相同频率的元素按照与给定输入相同的顺序打印。

最佳答案

您可以使用sorted()按值排序而不是按键排序

data = solve(S, N)
sorted_data = sorted(data.items(), key=lambda x: [-x[1], x[0]])

for sd in sorted_data:
    print(f'{sd[0]}: {sd[1]}')

关于python - 按频率对字符串列表(URL)进行排序并删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59351141/

相关文章:

python - 如何从Python中的字典列表中合并字典?

python - 如果字典中的多个键设置为“无”,如何检查它们是否存在?

python - 在 Python 中提取特定值之间的子数组

java - 遍历对象树的有效方法?

algorithm - 找到线段上等距点的最大数量

algorithm - 哪种算法可用于检测时间模式?

python - 从外部 php 系统登录 Odoo

python - 客户端 服务器端实时物体检测

python mysqldb插入数据蒸发没有错误

javascript - Highcharts map 示例不起作用