本问题已经有最佳答案,请猛点这里访问。

我正在用python为我工作的实验室编程。我如何在给定的字符串中每3个字符切掉一个字符并将其附加到一个列表中?

即:XXXXXXXXXXXXXXXXXXXXXXXXXX(其中x或x是任何给定的字母)

string = 'XXXxxxXXXxxxXXXxxxXXXxxxXXX'

mylist = []

for x in string:

string[?:?:?]

mylist.append(string)

我希望列表如下所示:【XXX】、【XXX】、【XXX】、【XXX】、【XXX】等】

有什么想法吗?

啊,密码子=)

这非常类似于对一个列表进行分块迭代——查看那里的答案以获得一些优秀的方法。

简而言之,你不能。

在更长的时间内,您需要编写自己的函数,可能:

def split(str, num):

return [ str[start:start+num] for start in range(0, len(str), num) ]

例如:

>>> split("xxxXXX", 3)

['xxx', 'XXX']

>>> split("xxxXXXxx", 3)

['xxx', 'XXX', 'xx']

将列表拆分为3个块和将字符串拆分为3个块之间的一个区别是,re模块使用的是字符串而不是列表。

如果性能很重要(即要拆分数千个字符串),则应测试应用程序中各种答案的比较方式。

>>> import re

>>> re.findall('...','XXXxxxXXXxxxXXXxxxXXXxxxXXX')

['XXX', 'xxx', 'XXX', 'xxx', 'XXX', 'xxx', 'XXX', 'xxx', 'XXX']

>>> chunksize=3

>>> re.findall('.{%s}'%chunksize,'XXXxxxXXXxxxXXXxxxXXXxxxXXX')

['XXX', 'xxx', 'XXX', 'xxx', 'XXX', 'xxx', 'XXX', 'xxx', 'XXX']

这是因为.在正则表达式中表示"匹配任何字符"。.{3}表示"任意3个字符匹配",依此类推。

据我所知,没有内置方法允许您将str的每个x索引分块。但是,这应该有效:

str ="stringStringStringString"

def chunk_str(str, chunk_size):

return [str[i:i+chunk_size] for i in range(0, len(str), chunk_size)]

chunk_str(str,3)

生产:

['str', 'ing', 'Str', 'ing', 'Str', 'ing', 'Str', 'ing']

甚至不是.split()方法?

不-.split方法仅用于基于字符的拆分。

这是迄今为止我找到的最佳解决方案。很棒的工作!

从如何在python中将列表分割成大小均匀的块中复制答案?自11月2008日以来:

直接从python文档(itertools的配方)中获取:

from itertools import izip, chain, repeat

def grouper(n, iterable, padvalue=None):

"grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')"

return izip(*[chain(iterable, repeat(padvalue, n-1))]*n)

根据J.F.Sebastian的建议,另一种方法是:

from itertools import izip_longest

def grouper(n, iterable, padvalue=None):

"grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')"

return izip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

我猜吉多的时间机器工作会工作,会工作,会再次工作。

python字符串最后一次的索引_关于python:如何每3个索引切一个字符串?相关推荐

  1. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串

    /*有一字符串,包含n个字符.写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串*/#include <stdio.h> #include <string.h&g ...

  2. 给定一个字符串str,给定一个字符串类型的数组arr,/出现的字符都是小写英文arr每一个字符串,/代表一张贴纸,你可以把单个字符剪开使用

    package 左神题目.dp; import java.util.*; //给定一个字符串str,给定一个字符串类型的数组arr, // 出现的字符都是小写英文arr每一个字符串, // 代表一张贴 ...

  3. python里的rindex是什么意思_用Python操作字符串之rindex()方法的使用

    用Python操作字符串之rindex()方法的使用 rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end] 如果没有这样的索引存在,抛出一个 ...

  4. python 一维数组所有元素是否大于_利用Python进行数据分析(5) NumPy基础: ndarray索引和切片...

    概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...

  5. 在python中print表示的数据类型是_【Python连载】那些必须掌握的Python数据类型

    原标题:[Python连载]那些必须掌握的Python数据类型 经过近几年的发展,Python已成为了数据科学和机器学习的首选语言,许多人也因此开始走上自学python之路.从今天开始,本公众号将陆续 ...

  6. python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...

    在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...

  7. python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...

    <Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...

  8. python程序设计课后答案第三单元_最新Python程序设计课后习题答案-第一单元

    精品文档 精品文档习题1 一.选择题 1.Python语言属于().C A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言2.下列选项中,不属于Python特点的是().B A.面向对象 B. ...

  9. python中颜色介意用数字表示_利用Python实现颜色色值转换的小工具

    先看看Zeplin 的颜色色值显示示例 原有处理方式 因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所以遇到这样的问题我当 ...

  10. python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

最新文章

  1. bootstrapDialog插件集成datatables插件遇到的异常
  2. 数据统计分析中的几点
  3. 三行代码生成验证码并转换成base64
  4. Spring MVC 文件上传 文件下载
  5. Java Calendar类知识点总结
  6. 组合数(nyoj32)
  7. AngularJS JetBrains WebStorm简介
  8. 小程序正式发布后,打开白屏(已解决)
  9. note同步不及时 one_续航800仅卖23万,比亚迪唐DM为啥却卖不过理想ONE?
  10. Java 学习/面试指南
  11. 一文全记录斐讯K3刷机+打印服务器+私人云盘+frp内网穿透+ftp远程上传下载
  12. 打印机脱机了怎么恢复打印
  13. BZOJ4484 JSOI2015最小表示(拓扑排序+bitset)
  14. kali liunx安装拼音输入法,必须成功,只需5步
  15. 计算机关机慢怎么解决方法,电脑关机很慢,详细教您win7电脑关机很慢的解决方法...
  16. 深度学习数学基础 熵?
  17. Linux(一): 磁盘分区
  18. Python数据处理案例
  19. 《AngularJS深度剖析与最佳实践》一1.3 创建项目
  20. Chameleon 手動安裝說明 + Chameleon 2 RC5 Rev580

热门文章

  1. python空格符用什么表示_如何用空格填写Python字符串?
  2. outstanding and out-of-order
  3. 欧拉法,改进欧拉法吗,四阶龙格库拉法 c++代码
  4. MySQL必知必会05:正确设置主键
  5. 老版本Typora分享
  6. wsl安装ubuntu
  7. 字符串中size()、length()与sizeof()用法及区别
  8. 基于深度学习的人脸表情识别开发
  9. Excel使用笔记--COUNTIF
  10. cidr php,PHP怎么实现ip2cidr(生成多个cidr)