【发布时间】:2018-09-14 07:12:24
【问题描述】:
假设我们有一个存储在这样一个列表中的单词列表:
list_of_words = ["this", "is", "a", "text","for", "demonstration"]
此外,我有一个选定单词的列表:
selected_words = ["hello", "text", "demonstration"]
我想计算在 selected_words 中与 list_of_words 中的单词匹配的单词之前出现在 list_of_words 中的单词(如果您愿意,可以是元素)的数量。
即selected_word 中匹配的第一个单词是“text”,并且在 list_of_words 中该单词之前有 3 个单词。匹配的第二个单词是“demonstration”,前面有 5 个单词。所以输出应该是[3, 5]。
计算这个最有效的方法是什么?我似乎找不到其他人在 python 中问过这个问题。
【问题讨论】:
-
对于
[3, 5],您无法确定 3 和 5 的来源。你确定这是你理想的输出吗?[None, 3, 5]之类的东西会更好 imo。 -
到目前为止您尝试过任何尝试/代码吗?
-
[list_of_words.index(word) for word in selected_words if word in list_of_words]
标签: python list text count element