2012-09-08 42 views
-2

可能重复:
Split python string every nth character?
What is the most “pythonic” way to iterate over a list in chunks?如何在Python中分割字符串?

我需要一个字符串分割成相等的部分。举例来说,如果我有这样的字符串:

string = "123456781234567812345678" 

我需要每8个字符切:

["12345678", "12345678", "12345678"] 
+2

我觉得这已经问 http://stackoverflow.com/questions/9475241/split-python-string-every-nth-character –

+0

- 尼斯找到,人士Himanshu!让我对自己的答案感觉良好,因为它完全一样。哈哈。 –

+1

@ SeanJohnson几乎没有其他的答案,它几乎没有那么热烈! –

回答

7

这实际上是一个非常棒的Python列表理解单行程应用程序!

my_str="123456781234567812345678" 
splits=[my_str[x:x+8] for x in range(0,len(my_str),8)] 
//splits = ["12345678","12345678","12345678"] 

让我知道如果您有任何问题。

+2

我会重命名'str'。它与内置类型'str'冲突。 – Blender

+0

好的呼叫。固定。 –

+0

链接问题的第二个答案非常简洁:'map(''。join,zip(* [iter(my_str)] * 8))''。 – Blender

-7

这可能帮助:

str.split(str="", num=string.count(str)). 

STR:任何分隔符,由默认它是空间。

num:要制作的行数。

你可以得到更多信息here

+0

这并不回答这个问题,它是关于分割成给定长度的字符串而不是分隔符的问题 –

+2

很高兴您做了一个搜索来帮助问题作者,但只是复制了您找到的第一个结果而没有任何解释(即使引用)真的没有帮助。 OP可能会使用'8'作为分隔符,并认为它可以工作。 –