首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环不会遍历列表

循环不会遍历列表
EN

Stack Overflow用户
提问于 2020-07-22 04:08:35
回答 1查看 46关注 0票数 0

我想在输出列表中附加列表中的每个字母或字母序列(对于序列letter,我将其替换为0个传入元素,以便可以忽略它)。我不明白的是为什么我的循环不能正确地遍历列表,它只找到一个"okj“的出现。

代码语言:javascript
运行
复制
s = "okjokjokj"
l = []
for i in s:
    l.append(i)

dico = ["a", "bc", "okj"]
output = []

for i in l:
    if i + l[l.index(i)+1] + l[l.index(i)+2] in dico:
        print (i+l[l.index(i)+1]+l[l.index(i)+2], "found")
        output.append(i + l[l.index(i)+1] + l[l.index(i)+2])
        l[l.index(i)+1] = "0"
        l[l.index(i)+2] = "0"
        print(l)
    if i + l[l.index(i)+1] in dico:
        print (i+l[l.index(i)+1], "found")
        output.append(i + l[l.index(i)+1])
        l[l.index(i)+1] = "0"
        print(l)
    if i in dico:
        print (i, "found")
        output.append(i)
        print(l)
    if i == "0":
        print ("nothing found")
        print (l)

print("\n output is", output)

输出为:

代码语言:javascript
运行
复制
okj found
['o', '0', '0', 'o', 'k', 'j', 'o', 'k', 'j']
nothing found
['o', '0', '0', 'o', 'k', 'j', 'o', 'k', 'j']
nothing found
['o', '0', '0', 'o', 'k', 'j', 'o', 'k', 'j']

 output is ['okj']
EN

回答 1

Stack Overflow用户

发布于 2020-07-22 04:27:35

找到第一个匹配项后,您的列表为:

代码语言:javascript
运行
复制
['o', '0', '0', 'o', 'k', 'j', 'o', 'k', 'j']

因此,当你的程序运行这行代码时:

代码语言:javascript
运行
复制
i + l[l.index(i)+1] + l[l.index(i)+2] in dico

它的意思是:'o' + '0' + '0',因为它接受列表(index('o')=0)中第一次出现的'o'的索引

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63022310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档