python,计算最后一行字符串中的字符数

2024-04-19 11:44:15 发布

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

python中从最后一行开始计算字符(包括空格)的最佳方法是什么?在

示例

"AAAAAAA
 BBBB
    CCCCC
         DDD"

函数应该返回11(8个空格和3个x D)


Tags: 方法函数示例字符空格dddaaaaaaabbbb
3条回答

只需使用^{}拆分字符串,然后取最后一项的^{},即索引-1

>>> len(example.splitlines()[-1])  # It's actually twelve long, not eleven.
12

如果这是一个嵌入了换行符的字符串,那么简单的方法是将其拆分为多行,然后取最后一个字符串的长度。在

len(s.split('\n')[-1])

仅从结尾(^{})拆分字符串一次,然后获取最后一项的长度:

>>> s = """AAAAAAA
 BBBB
    CCCCC
         DDD"""

>>> s.rsplit('\n', 1)
['AAAAAAA\n BBBB\n    CCCCC', '         DDD']
#On the other hand simple str.split will split the string more than once:
>>> s.split('\n')
['AAAAAAA', ' BBBB', '    CCCCC', '         DDD']

现在只需获得最后一项的长度:

^{pr2}$

对于更大的数据,这将非常快:

>>> s = """AAAAAAA
 BBBB
    CCCCC
         DDD"""
>>> s = '\n'.join([s]*1000)  #4000 lines
>>> %timeit len(s.split('\n')[-1])
10000 loops, best of 3: 84.9 µs per loop
>>> %timeit len(s.splitlines()[-1])
10000 loops, best of 3: 91.3 µs per loop
>>> %timeit len(s.rsplit('\n', 1)[-1])
1000000 loops, best of 3: 1.62 µs per loop

相关问题 更多 >