gpt4 book ai didi

PYTHON:如何编写一个函数来比较两个列表中重复出现的单词?

转载 作者:行者123 更新时间:2023-11-28 22:20:15 24 4
gpt4 key购买 nike

例如:

q=["hi", "sky"]
p=["here","sky","sky","sky","sky"]

定义的函数会得到什么:

count_words(["hi", "sky"], ["here","sky","sky","sky","sky"])
[0, 4]
# answer where hi appears 0 times and sky appears 4 times

我的代码是这样开始的:

def count_words(q, p):
count = 0
for word in q:
if q==p:
(q.count("hi"))
(q.count("sky"))
return count

我一直得到一个 0 值,它占 q,但我无法得到 p 的值。

最佳答案

这是一个更简单的答案(更简单我的意思是单行且不使用额外的库)-

q=["hi", "sky"] 
p=["here","sky","sky","sky","sky"]

def count_words(q,p):
return [ p.count(i) for i in q ]

print(count_words(q,p))

输出

[0, 4]

解释

[ p.count(i) for i in q ] 是一个 list comprehension这就像动态遍历 q 列表并对 p

中的各个元素进行计数

时间(取决于数据)

# My solution
1.78 µs ± 214 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

# @Delirious Solution 1
7.55 µs ± 1.58 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

# @ Delirious Solution 2
3.86 µs ± 348 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

关于PYTHON:如何编写一个函数来比较两个列表中重复出现的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49103873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com