python - 如何在for循环变量中分配两个值
问题描述
我们如何使用 for 循环从字符串中分配两个值,如下所示
string="abcd"
for i in string:
print(i)
这将给我一个字符串中的值
#output
a
b
c
d
我怎样才能取两个值,如 ab 和 cd。我知道我们可以在打印中做到这一点,但我需要在“i”中分配两个值我需要输出
#output
ab
cd
解决方案
您可以使用列表理解,如下所示:
n = 2
s = "abcd"
res = [s[i:i+n] for i in range(0, len(s), n)]
print(res) # ['ab', 'cd']
这适用于任何n
地方。
如果你只需要 2 个字符,你也可以使用正则表达式,但如果它n
不方便,一个例子n=2
是:
import re
s = "abcd"
res = re.findall('..?',s)
print(res) # ['ab', 'cd']
推荐阅读
- php - 找到字符串时正则表达式忽略匹配
- javascript - Angular 附加到路由器出口而不是替换内容
- node.js - Nodejs Azure 部署失败:ENOENT:没有这样的文件或目录,stat '/home/site/wwwroot/node_modules/.bin/semver'
- python - 包含列表的列中元素总数的新列
- list - 如何在 Racket 中查找包含集合的集合
- node.js - 我的机器人不想执行命令即使它在线
- python - 如何删除matplotlib图中的白色网格
- c# - Azure 应用服务 Windows 容器 - 使用装载存储错误将文件上传到文件共享
- javascript - 我无法插入数据,然后在 laravel 中使用 ajax 检索数据
- pyinstaller - pyinstaller EXE OSError: 找不到或加载 spatialindex_c-64.dll