首页 > 解决方案 > 从 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循环?

标签: pythonfor-loopwhile-loop

解决方案


形式的for循环

for x in y:
    #code 

总是可以变成while形式的循环

i=0
while i < len(y):
    x = y[i]        
    #code
    i += 1

因为x在您的情况下只是迭代值0len(b)您可以进一步将其减少到:

x=0
while x < len(b):       
    #code
    x += 1

推荐阅读