这个问题在这里已经有了答案:





What is the most “pythonic” way to iterate over a list in chunks?

(38 个回答)


6年前关闭。




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

即 XXXxxxXXXxxxXXXxxxXXXxxxXXX(其中 X 或 x 是任何给定的字母)

string = 'XXXxxxXXXxxxXXXxxxXXXxxxXXX'
mylist = []

for x in string:
    string[?:?:?]
    mylist.append(string)

我希望列表看起来像这样:['XXX','xxx','XXX','xxx','XXX'....etc]

有任何想法吗?

最佳答案

简而言之,你不能。

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

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']

关于python - 如何每 3 个索引切片一个字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5711452/

10-13 07:37
查看更多