我正在尝试计算列表/集合(或其名称)中的唯一单词,看起来像这样:
names = [[], [], [], [], [], [['John ', 'John '], ['Peter ']], [], [], [], [['Morgan']], [], [], []]
(如果你需要知道,这个列表是由一个匹配函数形成的,该函数在我电脑上的目录中的word文档中查找名称列表。您看到的空空间是与任何内容都不匹配的文档)
到目前为止我已经试过了
names1 = set(names)
len (names1)
和
Counter(names).keys()
Counter(names).values()
但两者都不起作用。谢谢你的帮助
我试图让@jaideph Shekhar的评论更加明确,同时也包括您最初对Counter object的使用:
from collections import Counter
wordcount_dict = Counter()
for elem in names:
for namelist in elem:
wordcount_dict += Counter(namelist)
print(len(wordcount_dict))
我突然想到:
from collections import defaultdict
d = defaultdict(int) # default int is 0
names = [[], [], [], [], [], [['John ', 'John '], ['Peter ']], [], [], [], [['Morgan']], [], [], []]
def find(ele):
if isinstance(ele, str):
d[ele] += 1
if isinstance(ele, list):
for e in ele:
find(e)
find(names)
print(d) # {'John ': 2, 'Peter ': 1, 'Morgan': 1}
它是一个递归函数,用于检查它是否是一个列表。如果是,则检查它是否为空,并继续再次调用自己。否则,它只会返回。如果它找到一个字符串,它只是将自己添加到字典中。
问题内容: 到目前为止,我的代码是这样的: 我想添加一个代码,该代码可以计算来自模式(此路径中的42个txt文件)中的唯一单词,但我不知道该怎么做。有谁能够帮助我? 问题答案: 在Python中计算对象的最佳方法是使用为此目的而创建的类。它的行为类似于Python字典,但计数时使用起来稍微容易一些。您只需传递对象列表,它就会自动为您计数。 Counter也有一些有用的方法,例如most_commo
我需要计算下一个列表中的元素,我有一个listartif列表,对于它们的每个元素,我都有一个发现列表,对于每个发现对象,我都有一个名为isChecked的字段,所以我需要计算列表中所有检查过的发现。我已经做了下一个,但是我得到了列表中元素的总数。 有什么想法吗? 谢谢
问题内容: 我已经在处理以下代码,但是似乎找不到一种方法来计算字谜列表中唯一值的数量。如果我只是打印出:我会得到列表的总价值,但其中包括重复项。 我试图将列表转换为集合,然后再删除掉重复项,但是还没有任何运气。 谢谢! 问题答案: 使用。仅包含唯一值:
本文向大家介绍Python中如何复制一个嵌套列表,包括了Python中如何复制一个嵌套列表的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将看到在Python中复制嵌套列表的不同方法。让我们一一看。 首先,我们将使用循环复制嵌套列表。这是最常见的方式。 示例 输出结果 如果运行上面的代码,则将得到以下结果。 让我们看看如何使用列表理解和拆包运算符复制嵌套列表。 示例 输出结果 如果运行上
问题内容: 我想复制一个2D列表,以便如果我修改一个列表,则不修改另一个列表。 对于一维列表,我只是这样做: 现在,如果我修改了b,a就不会修改。 但这不适用于二维列表: 如果我修改了b,a也会被修改。 我该如何解决? 问题答案: 对于不管尺寸多少都可以工作的更通用的解决方案,请使用:
问题内容: 这是我的数据 是独特的。我需要显示每张卡的所有详细信息和总时间,例如: 问题答案: SELECT卡号,用户名,表名,总和(小时)从表_1 GROUP BY卡号,用户名,表名开始