python字符串最后一次的索引_关于python:如何每3个索引切一个字符串?
本问题已经有最佳答案,请猛点这里访问。
我正在用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个索引切一个字符串?相关推荐
- 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串
/*有一字符串,包含n个字符.写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串*/#include <stdio.h> #include <string.h&g ...
- 给定一个字符串str,给定一个字符串类型的数组arr,/出现的字符都是小写英文arr每一个字符串,/代表一张贴纸,你可以把单个字符剪开使用
package 左神题目.dp; import java.util.*; //给定一个字符串str,给定一个字符串类型的数组arr, // 出现的字符都是小写英文arr每一个字符串, // 代表一张贴 ...
- python里的rindex是什么意思_用Python操作字符串之rindex()方法的使用
用Python操作字符串之rindex()方法的使用 rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end] 如果没有这样的索引存在,抛出一个 ...
- python 一维数组所有元素是否大于_利用Python进行数据分析(5) NumPy基础: ndarray索引和切片...
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 在python中print表示的数据类型是_【Python连载】那些必须掌握的Python数据类型
原标题:[Python连载]那些必须掌握的Python数据类型 经过近几年的发展,Python已成为了数据科学和机器学习的首选语言,许多人也因此开始走上自学python之路.从今天开始,本公众号将陆续 ...
- python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...
在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...
- python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...
<Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...
- python程序设计课后答案第三单元_最新Python程序设计课后习题答案-第一单元
精品文档 精品文档习题1 一.选择题 1.Python语言属于().C A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言2.下列选项中,不属于Python特点的是().B A.面向对象 B. ...
- python中颜色介意用数字表示_利用Python实现颜色色值转换的小工具
先看看Zeplin 的颜色色值显示示例 原有处理方式 因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所以遇到这样的问题我当 ...
- python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...
Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...
最新文章
- bootstrapDialog插件集成datatables插件遇到的异常
- 数据统计分析中的几点
- 三行代码生成验证码并转换成base64
- Spring MVC 文件上传 文件下载
- Java Calendar类知识点总结
- 组合数(nyoj32)
- AngularJS JetBrains WebStorm简介
- 小程序正式发布后,打开白屏(已解决)
- note同步不及时 one_续航800仅卖23万,比亚迪唐DM为啥却卖不过理想ONE?
- Java 学习/面试指南
- 一文全记录斐讯K3刷机+打印服务器+私人云盘+frp内网穿透+ftp远程上传下载
- 打印机脱机了怎么恢复打印
- BZOJ4484 JSOI2015最小表示(拓扑排序+bitset)
- kali liunx安装拼音输入法,必须成功,只需5步
- 计算机关机慢怎么解决方法,电脑关机很慢,详细教您win7电脑关机很慢的解决方法...
- 深度学习数学基础 熵?
- Linux(一): 磁盘分区
- Python数据处理案例
- 《AngularJS深度剖析与最佳实践》一1.3 创建项目
- Chameleon 手動安裝說明 + Chameleon 2 RC5 Rev580