>>> itms="""banana cookie cream soda lime limes apples
desert plate cake orange milk beans
juice apple pie"""我想知道如何从多行字符串中计数某一行中的项目?
示例:第一行将返回7
第二个将返回6。
最后一个将返回2 (因为“苹果派”中只有一个空白)。
发布于 2017-12-01 17:23:29
这里有一个小例子,打印出一行中的元素数。
import re
lines = [re.split(r'\s{2,}',x.strip()) for x in itms.split("\n")]
for index, line in enumerate(lines):
print "line number : {0} has {1} elements".format(index, len(line))
line number : 0 has 7 elements
line number : 1 has 6 elements
line number : 2 has 3 elements1)首先,要将每个line字符串放入一个strings列表中
2)然后将其分解为它的单个元素,以便一行中的每个单词都在它自己的列表中。
3)从那时起,我们只需要得到包含your words per line的列表的长度。
发布于 2017-12-01 17:26:05
In [12]: itms="""banana cookie cream soda lime limes apples
...: desert plate cake orange milk beans
...: juice apple pie"""将字符串拆分成行
In [13]: itms = [line.strip() for line in itms.split('\n')]
In [14]: itms
Out[14]:
['banana cookie cream soda lime limes apples',
'desert plate cake orange milk beans',
'juice apple pie']将项拆分到两个以上的空格上
In [15]: import re
In [16]: itms = [re.split(r'\s\s+', line) for line in itms]
In [17]: itms
Out[17]:
[['banana', 'cookie', 'cream', 'soda', 'lime', 'limes', 'apples'],
['desert', 'plate', 'cake', 'orange', 'milk', 'beans'],
['juice', 'apple pie']]计算每一行中的元素
In [18]: for x in itms:
...: print(len(x))
...:
7
6
2发布于 2017-12-01 17:32:18
假设您可以指望单词分隔符始终是两个空格,下面将返回[7, 6, 2]
[len(line.strip().split(' ')) for line in itms.split('\n')]如果单词分隔符是任意数量的空格字符,则可以使用regex模块。
import re
[len(re.split(r'\s\s+', line.strip())) for line in itms.split('\n')]https://stackoverflow.com/questions/47598323
复制相似问题