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

yipeiwu_com7年前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断言assert的用法代码解析

在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误)。这时候断言assert 就显得非常有用。 python assert断言是声明布尔值必须为真的判定,如果...

python网页请求urllib2模块简单封装代码

对python网页请求模块urllib2进行简单的封装。 例子: 复制代码 代码如下:#!/usr/bin/python#coding: utf-8import base64import...

python基于Tkinter库实现简单文本编辑器实例

本文实例讲述了python基于Tkinter库实现简单文本编辑器的方法。分享给大家供大家参考。具体实现方法如下: ## {{{ http://code.activestate.com...

python的range和linspace使用详解

在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列。 range range一...

python发腾讯微博代码分享

复制代码 代码如下:import urllib.parse,os.path,time,sys,re,urllib.requestfrom http.client import HTTPS...