1 def checkio(data):
def checkio(data): for i in data: num = data.count(i) if num == 1: data.remove(i) return data if __name__ == "__main__": print checkio([1, 2, 3, 4, 5]) 请问结果为什么是" [2,4] ",而不是" [] "
def checkio(data): for i in data: num = data.count(i) print i print num if num == 1: data.remove(i) ''' 从列表中移除元素,i值依然在增加; 第一次循环i=1,data为[1,2,3,4,5],移除了1 第二次循环i=2,新列表为[2,3,4,5],结果移除了3 第二次循环i=3,新列表为[2,4,5],结果移除了5 不符合条件,退出循环,所以list 中只有2,4 ''' print data return data if __name__ == "__main__": print checkio([1,2,3,4,5])
哦,这样啊 谢谢你哦 那请问如何才能删掉表里全部元素呢 使它成为空表 用Loop ?
我弱弱的问一句。remove不是移除第一个匹配项吗?i= 1 的时候移除的是1,i=2的时候不是该移除2吗?