loops - 带有语句的范围循环
问题描述
我有一个像这样的字符串:
string = "ABCDE_FG_HILMN__OP__QRS_TUVY"
我在这个字符串的中间有一个字母(M)的索引(“位置”)。
index = 11
我需要一个循环,从该索引位置开始+5
在左侧和+5
右侧打印该位置字符。如果有一个_
它必须增加,1
以便_
在输出中没有并且11
最终总共具有字符,例如:
FGHILMNOPQR
我的想法是这样的:
for i in string:
in = index
if in != "_" andor [in-5] != "_".... andor ...
print([in-5],[in-4],[in-3],[in-2],[in-1],[in],[in+1],[in+2],[in+3],[in+4],[in+5])
elsif
somethingelse
解决方案
您可以用空字符串替换“_”并像这样在 M 周围获取 5 个字母
string = "ABCDE_FG_HILMN__OP__QRS_TUVY"
m_pos = 11 - string.count("_", 0, 11)
string.replace("_", "")[m_pos-5: m_pos+6]
推荐阅读
- php - SQL查询中的Wordpress PHP变量没有结果
- android - Android 如何从特定图像设置动态背景颜色
- angular - 无法使用 onSelectedChange 获取选定值选择
- python - 根据用户输入从列表中添加值
- sql - 在 Redshift 中创建 SQL UDF
- directory - 如何更改 Ada 中的工作目录?
- sql - 简单的 SQL 模式设计?我们什么时候实现冗余关系?
- c++ - 形状对象C ++的不正确旋转和缩放
- html - 悬停影响不显示正确元素的不同元素
- xquery - 如何在 MarkLogic 结构查询中为 geo-elem-pair-query 设置权重?