无法在Python中使用for和while循环消除列表中的单词
我试图通过重新排列“行星”一词来寻找所有7个字母的单词,作为练习(我使用了从这里下载的sowpods库:) 代码如下:无法在Python中使用for和while循环消除列表中的单词,python,python-3.x,for-loop,while-loop,Python,Python 3.x,For Loop,While Loop,我试图通过重新排列“行星”一词来寻找所有7个字母的单词,作为练习(我使用了从这里下载的sowpods库:) 代码如下: file_name = 'sowpods.txt' a = open(file_name,'r') b = a.read() c = b.split('\n') d = [] for corr in c: if len(corr) == 7: d.append(corr) for corr in d: m = 0 wh
file_name = 'sowpods.txt'
a = open(file_name,'r')
b = a.read()
c = b.split('\n')
d = []
for corr in c:
if len(corr) == 7:
d.append(corr)
for corr in d:
m = 0
while m < 7:
if (corr[m] == 'P' or corr[m] == 'L' or corr[m] == 'A' or corr[m] == 'N' or corr[m] == 'E' or corr[m] == 'T' or corr[m] == 'S'):
pass
else:
d.remove(corr)
break
m += 1
print(d)
文件名='sowpods.txt'
a=打开(文件名'r')
b=a.读()
c=b.split('\n')
d=[]
对于c中的corr:
如果len(corr)==7:
d、 附加(corr)
对于d中的corr:
m=0
m<7时:
如果(corr[m]='P'或corr[m]='L'或corr[m]='A'或corr[m]='N'或corr[m]='E'或corr[m]='T'或corr[m]='S'):
通过
其他:
d、 删除(corr)
打破
m+=1
印刷品(d)
程序运行时没有任何错误消息,但它没有删除我期望它删除的许多单词,即使它删除了其他类似的单词,例如,它删除了单词“ZORILLA”,但没有删除“ZORILLE”。我不知道它为什么那样做。有人能解释一下,并建议对代码进行一些更改吗?从您正在迭代的列表中删除一个项目会混淆迭代。只需将该项清空,或者以相反的方式迭代列表