python每次处理固定个数的字符的方法总结

yipeiwu_com5年前Python基础

首先,来看每次处理一个字符的情况,可以有如下方法去实现:
方法一:

复制代码 代码如下:

    >>> a='1234567'
    >>> list(a)
    ['1', '2', '3', '4', '5', '6', '7']
    >>>

方法二:
复制代码 代码如下:

    >>> a='1234567'
    >>> for i in a:
    ...     print i
    ...
    1
    2
    3
    4
    5
    6
    7
    >>>

方法三:列表解析(map)
复制代码 代码如下:

    >>> a
    '1234567'
    >>> [int(i)+1 for i in a]
    [2, 3, 4, 5, 6, 7, 8]
    >>>

但是如果每次处理两个字符或者更多的字符,上面的方法就不好用了,下面我总结了如下两种:

方法一:使用分片操作,每次处理两个字符:

复制代码 代码如下:

    >>> a='abcdefghijk'
    >>> num=0
    >>> while True:
    ...     str = a[num:num+2]
    ...     if str:
    ...         print str
    ...     else:
    ...         break
    ...     num += 2
    ...
    ab
    cd
    ef
    gh
    ij
    k
    >>>

方法二:使用正则表达式,分割字符串,每次处理3个字符
复制代码 代码如下:

    >>> import re
    >>> a="1234567890"
    >>> for i in re.findall(".{1,3}",a):
    ...     print i
    ...
    123
    456
    789
    0
    >>>

可以根据需求更改每次处理n个字符。

相关文章

命令行运行Python脚本时传入参数的三种方式详解

如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式。 python script.py 0,1,2 10 python scrip...

python 计算积分图和haar特征的实例代码

下面的代码通过积分图计算一张图片的一种haar特征的所有可能的值。初步学习图像处理并尝试写代码,如有错误,欢迎指出。 import cv2 import numpy as np im...

python实现问号表达式(?)的方法

python中的and和or和其它语言的区别很大其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。那个值决定了这个表达式的值...

详解Python读取配置文件模块ConfigParser

1,ConfigParser模块简介 假设有如下配置文件,需要在Pyhton程序中读取 $ cat config.ini [db] db_port = 3306 db_user =...

numpy中实现二维数组按照某列、某行排序的方法

如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下: data = da...