python - 从 for-loop 和 while-loop 转换为 while-loop 和 while 循环 Python
问题描述
for x in range(0,len(b)):
if x+1 < len(b):
if b[x][1] == 'B' and b[x+1][1] == 'B':
a.append([b[x][0], b[x][2]])
elif b[x][1] == 'B'and b[x+1][1] == 'I':
kata = b[x][0]
a = 1
while True:
if x+a < len(b):
if b[x+a][1] == 'I':
kata += ' ' + b[x+a][0]
a += 1
elif b[x+a][1] == 'B':
break
else:
break
a.append([kata, b[x][2]])
else:
if b[x][1] == 'B':
a.append([b[x][0], b[x][2]])
有人可以帮我将 for 循环转换为 while 循环吗?而while循环保持while循环?
解决方案
形式的for
循环
for x in y:
#code
总是可以变成while
形式的循环
i=0
while i < len(y):
x = y[i]
#code
i += 1
因为x
在您的情况下只是迭代值0
,len(b)
您可以进一步将其减少到:
x=0
while x < len(b):
#code
x += 1
推荐阅读
- javascript - 如何在 THREE.js 中克隆 Line 对象的网格?
- python - 在python中处理二维列表边界检查的最佳方法?
- c# - 在 Linq 中分组到实体?
- python - 在 Python 3 中将 utf-8 unicode 序列转换为 utf-8 字符
- javascript - 使用来自 MongoDB 的数据的 jquery 按名称排序
- css - 如果后跟位置绝对元素,为什么位置粘性不起作用?
- python - 将数据集与 plotly 进行比较 - 用实线混合虚线
- ssh - 将 Visual Studio Code 连接到 Codeanywhere 容器
- python - XGBoost - 获得 multi:softmax 函数后的概率
- c++ - 在处理 C++ 中存储在双精度中的大整数时,如何避免舍入/精度错误?