【发布时间】:2017-04-04 12:19:23
【问题描述】:
listsal2 = [1,2,2,3,3,4,5,6,7,8]
listsal3 = []
counter = 0
for i in listsal2:
item = listsal2.count(i)
if item > 1:
counter = item
while counter > 1:
listsal3.append(i)
counter = counter - 1
print (listsal3)
我一直在研究模式功能,但由于某种原因,它会保留列表中的最后几个数字,并且列表中的项目越多,未删除的项目就越多。
编辑:刚刚意识到我忘记了现在的第二部分代码
EDIT2:代码被缩小并且更易于阅读
EDIT3:更改了代码,因此重复的数字进入了一个新列表,但它具有多个列表项的数量
感谢大家的帮助,我想我现在明白了
【问题讨论】:
-
a = a- 你希望它做什么? -
调试你的代码,你会立即发现问题。
-
if a > b- 您将a设置为0并将b设置为非负数。a怎么可能大于b? -
@user2357112 a = a 的原因是因为有时列表不会被组织,所以 a 可能大于新的 b 值
-
在迭代列表时删除列表的元素会中断迭代。不要修改
for循环中的listsal2。