python - 如何将列表传递给另一个函数,然后制作列表列表
问题描述
我有一个名为的函数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):
解决方案
这是我的看法,使用列表推导和 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})
这是一种简单的方法,但如果您有简单的需求,那么这可能会完成工作。
推荐阅读
- docker - sudo service docker start 后 Docker 未运行且无法卸载
- algorithm - 有序 DAG 遍历
- go-gorm - Gorm:.Updates(changes) 应该允许将列更新为 NULL
- time - 关于python的时间模块
- tensorflow - 来自生成器改组的张量流数据集
- r - 中值描述与分位数回归
- prometheus - 从 Grafana Range 动态获取数据点的数量
- javascript - 从昨天创建的文件夹中获取文件
- docker - JupyterHub“400:cookie 中缺少错误请求 OAuth 状态”通用身份验证
- csv - 如何根据配置单元中的输入列使用分隔符拆分列