【发布时间】:2020-07-26 04:37:08
【问题描述】:
这是我想出的,但感觉很笨拙 它必须是缓慢的解决方案。
class classNameHere(object):
def __init__(self, number):
self.value = number
classes = [classNameHere(i) for i in range(1000)]
print(len(classes))
pos = 0
while pos <= len(classes)-1:
if classes[pos].value % 2:
del(classes[pos])
else:
pos += 1
print(len(classes))
【问题讨论】:
-
这会导致一些问题。不要在迭代时操作列表。
-
@jizhihaoSAMA 鉴于
pos仅在从列表中删除任何内容时才会增加,那么这在技术上不会导致问题 -
@vallentin 在某些特定情况下。如果他想删除一些连续的元素,就会导致这个问题。
标签: python list performance class