首页 > 解决方案 > 如何将列表传递给另一个函数,然后制作列表列表

问题描述

我有一个名为的函数labeled,它基本上扫描列表中每个元素的第一个字符,并仅返回带有主题标签的那些元素。到目前为止,我已经完成了该功能。但是,之后我需要一个函数,它从原始函数中获取列表,然后计算该值在列表中出现的次数。因此,假设用户输入"I really like hot cheetos #good #yum #yum",我需要获取该字符串,让第一个函数返回主题标签列表,然后第二个函数返回类似['yum',2,'good',1]. 这就是我现在所拥有的:

 def labeled(x):
    x = input("Enter a sentence or quit: ")
    if x == 'quit':
        return "Bye"
    labeled_list = []
    for word in x.split():
        if word [0] == "#":
            labeled_list.append(word[1:])
    for hashtags in labeled_list:
        return labeled_list      
print(labeled())
def tabulated(labeled_list):

标签: pythonlistlist-comprehension

解决方案


这是我的看法,使用列表推导和 collections.Counter。

>>> import collections
>>> t = "I really like hot cheetos #good #yum #yum"
>>> l = [w.replace('#') for w in t.split() if w[0] == '#']
>>> collections.Counter(l)
Counter({'#yum': 2, '#good': 1})

这是一种简单的方法,但如果您有简单的需求,那么这可能会完成工作。


推荐阅读