无法\n更正Python语法:count

2024-10-10 18:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我将提到,我是Python语言的新手,来自网络背景。如果您想知道我为什么使用Python2.5,那是由于一些设备限制。在

我要做的是计算一个数据串中的行数,如下所示。(不在文件中)

data = ['This','is','some','test','data','\nThis','is','some','test','data','\nThis','is','some','test','data','\nThis','is','some','test','data','\n']

不幸的是,我似乎无法获得正确的语法来计数\n。到目前为止,这是我想出的。在

^{pr2}$

上面的代码对于预期的输出显然是错误的,因为它相对于测试数据返回1,如果可能的话,我希望它返回4。它只找到'\n'中的1个是示例中的最后一个,因为它匹配。在

如果我使用下面的代码来查找所有这些代码,则由于语法原因,它不会运行。在

num = data.count (\n)
print num

我从下面的链接中找到了这段代码,下面是第三个例子。在

http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/strings3.html

有什么办法实现这一点还是我应该寻找一个不同的解决方案?在

如有任何帮助,敬请
谢谢你


Tags: 文件数据代码test网络语言datais
2条回答

第一段代码不起作用,因为实际字符串列表中只有一个'\n'。当您将'\n'与类似的'nThis'进行比较时,它会说\n不等于该字符串,并且不包括在计数中。在

您可以将列表连接到一个字符串中,如下所示:

x = ''.join(num)

然后尝试使用string类的count方法。这将允许您在总字符串中找到与'\n'等效的子字符串。在

^{pr2}$

list.count用于获取列表中项目的计数,但您需要在每个项目中执行子字符串搜索,以获得4的计数。在

>>> data = ['This','is','some','test','data','\nThis','is','some','test','data','\nThis','is','some','test','data','\nThis','is','some','test','data','\n']

包含'\n'的项目总数:

^{pr2}$

data中所有'\n'的计数之和:

>>> data = ['\n\nfoo','\n\n\nbar']
>>> sum(item.count('\n') for item in data)
5

相关问题 更多 >