用于以n个字符分割字符串的循环

问题描述 投票:0回答:3

我发现此代码完全可以实现我想要的功能,它将字符串拆分为n个字符。但是有人可以在长格式的for循环中向我解释这段代码是什么样的吗?

n = 3
chunks = [str[i:i+n] for i in range(0, len(str), n)]
print(chunks)

我很难理解当前格式的代码的逻辑。如果我要重新编写它,它将看起来像下面的代码,但是无法复制结果。

for i in range(0, len(str), n):
    chunks = ''
    string = str[i*n::n]
    chunks = chunks+string

Source of code

python for-loop slice
3个回答
3
投票

列表理解如下

result = [value for element in iterable]

完全等同于以下代码:

result = []
for element in iterable:
    result.append(value)

因此,您的代码将很简单

chunks = []
for i in range(0, len(str), n):
    chunks.append(str[i:i+n])

2
投票
n = 3
inputString = "this is my string"
chunks = []
for i in range(0, len(inputString), n):
    myString = inputString[i:i+n]
    chunks.append(myString)
print(chunks)

块是一个数组!不是字符串。希望对您有所帮助!


1
投票
chunks = []
for i in range(0, len(str), n):
    string = str[i:i+n]
    chunks.append(string)
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.