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

yipeiwu_com6年前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 SVM 线性分类模型的实现

python SVM 线性分类模型的实现

运行环境:win10 64位 py 3.6 pycharm 2018.1.1 导入对应的包和数据 import matplotlib.pyplot as plt import num...

Python利用QQ邮箱发送邮件的实现方法(分享)

废话不多说,直接上代码 Python2.7 #!/usr/bin/env python2.7 # -*- coding=utf-8 -*- import smtplib from...

浅谈python中字典append 到list 后值的改变问题

看一个例子 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变...

聊聊python里如何用Borg pattern实现的单例模式

有如下 borg pattern 的实现: class Borg(object): __shared_state = {} def __init__(self):...

Django使用Celery异步任务队列的使用

Django使用Celery异步任务队列的使用

1 Celery简介 Celery是异步任务队列,可以独立于主进程运行,在主进程退出后,也不影响队列中的任务执行。 任务执行异常退出,重新启动后,会继续执行队列中的其他任务,同...