python - 将字符串分割为 n 个字符的 for 循环
问题描述
我发现这段代码完全符合我的要求,它将一个字符串拆分为 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
解决方案
一个看起来像的列表理解
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])
推荐阅读
- javascript - onClick 需要 2 次点击
- javascript - 将 RX 与 yeoman 生成器一起使用
- java - 从 jar 与 IntelliJ 运行时,Spring 以不同的顺序自动装配 bean - 无法启动 bean 'subProtocolWebSocketHandler' 没有处理程序
- sql - SQL 错误:ORA-00933:从三个表中删除时 SQL 命令未正确结束
- php - 无法使用 php 读取数组中的重音名称
- r - 通过R中的逻辑从数据帧中提取数据
- python - python-curses 没有注册 instr()
- html - 如果宽度/高度比是固定的,是否可以使用纯 CSS根据其 100% 宽度设置高度?
- arrays - 使用 jq 在 bash 循环中修改 JSON - 从文件读取/写入或将所有数据存储在 vars 中?
- javascript - 阻止特定项目上的 jQuery-contextMenu