为了账号安全,请及时绑定邮箱和手机立即绑定

在忽略大小写敏感度的列表中查找最频繁的字符串

在忽略大小写敏感度的列表中查找最频繁的字符串

侃侃无极 2023-05-23 10:31:51
我有一个名为 的 Twitter 主题标签列表li。我想top_10从中制作一个最常见的标签的新列表。到目前为止我已经完成了(#):li = ['COVID19', 'Covid19', 'covid19', 'coronavirus', 'Coronavirus',...]tag_counter = dict()for tag in li:    if tag in tag_counter:         tag_counter[tag] += 1    else:         tag_counter[tag] = 1 popular_tags = sorted(tag_counter, key = tag_counter.get, reverse = True)top_10 = popular_tags[:10]print('\nList of the top 10 popular hashtags are :\n',top_10)由于主题标签不区分大小写,我想在创建我的tag_counter.
查看完整描述

4 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

collections.Counter从标准库中使用

from collections import Counter


list_of_words = ['hello', 'hello', 'world']

lowercase_words = [w.lower() for w in list_of_words]


Counter(lowercase_words).most_common(1)

退货:


[('hello', 2)]


查看完整回答
反对 回复 2023-05-23
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

首先规范化数据,使用 lower 或 upper。


li = ['COVID19', 'Covid19', 'covid19', 'coronavirus', 'Coronavirus']

li = [x.upper() for x in li] # OR, li = [x.lower() for x in li]

tag_counter = dict()

for tag in li:

    if tag in tag_counter:

         tag_counter[tag] += 1

    else:

         tag_counter[tag] = 1

 

popular_tags = sorted(tag_counter, key = tag_counter.get, reverse = True)


top_10 = popular_tags[:10]


print('\nList of the top 10 popular hashtags are :\n',top_10)


查看完整回答
反对 回复 2023-05-23
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

见下文


from collections import Counter


lst = ['Ab','aa','ab','Aa','Cct','aA']

lower_lst = [x.lower() for x in lst ]

counter = Counter(lower_lst)

print(counter.most_common(1))


查看完整回答
反对 回复 2023-05-23
?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以使用Counter收藏库


from collections import Counter


li = ['COVID19', 'Covid19', 'covid19', 'coronavirus', 'Coronavirus']


print(Counter([i.lower() for i in li]).most_common(10))

输出:


[('covid19', 3), ('coronavirus', 2)]


查看完整回答
反对 回复 2023-05-23
  • 4 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信