为什么此for循环仅检查其他所有字符? (蟒蛇)

时间:2018-12-08 20:09:08

标签: python

我目前正在学习Python,并且正在研究codewars.com challenge,但似乎无法弄清楚为什么第二个for循环只使用第一个元素,然后再使用第二个元素。我知道它与 text_lst.remove(char)有关,但是我不确定为什么。我知道当然有更好的方法来完成此挑战,但是在这一点上,我只想知道为什么它不起作用。这是我的代码:

def duplicate_count(text):
    print(text)
    text = text.lower()
    text_lst = []
    for c in text:
        text_lst.append(c)
    count = 0
    mem = []
    for char in text_lst:
        print(char)
        text_lst.remove(char)
        if (char not in mem) and (char in text_lst):
            mem.append(char)
            count = count + 1     
    return count

它正在与这些示例一起运行:

test.assert_equals(duplicate_count("abcde"), 0)
test.assert_equals(duplicate_count("abcdea"), 1)
test.assert_equals(duplicate_count("indivisibility"), 1)

第二个for循环中的print语句仅打印出其他所有字符。

0 个答案:

没有答案