使用remove函数时python循环的意外行为

时间:2016-05-24 05:10:48

标签: python

我在python中编写了一个脚本,它从python列表中删除了一个特定的字符。在这里,我选择删除所有' h'在列表中。这是我写的代码:

input1=list(raw_input("Enter input list:"))
print "Initial list:",input1  
for item in input1:

    if item == 'h':
        input1.remove(item)
        print input1
    else:
        continue
print "Final list:",input1

我提供了以下输入:

hhhhheilhhthhh

我希望最终的名单是:

['e','i','l','t']

我得到了以下输出:

['e', 'i', 'l', 'h', 't', 'h', 'h', 'h']

这是整个输出:

Enter input list:hhhhheilhhthhh
Initial list: ['h', 'h', 'h', 'h', 'h', 'e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['h', 'h', 'h', 'h', 'e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['h', 'h', 'h', 'e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['h', 'h', 'e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['h', 'e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['e', 'i', 'l', 'h', 'h', 't', 'h', 'h', 'h']
['e', 'i', 'l', 'h', 't', 'h', 'h', 'h']
Final list: ['e', 'i', 'l', 'h', 't', 'h', 'h', 'h']

我认为问题在于删除功能。为什么python表现得像这样?

0 个答案:

没有答案