【发布时间】:2013-03-31 00:36:54
【问题描述】:
当我在 Python 2.7.3 中执行以下代码时:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class A(object):
def __init__(self):
self.s = []
class B(object):
def __init__(self):
self.a = A()
class C(object):
def __init__(self):
self.b = B()
c = C()
print c.b.a.s
c.b.a.s.append(1)
c.b.a.s.append(2)
c.b.a.s.append(3)
c.b.a.s.append(4)
c.b.a.s.append(5)
print c.b.a.s
for element in c.b.a.s:
print c.b.a.s.pop()
print c.b.a.s
我得到了输出:
[]
[1, 2, 3, 4, 5]
5
4
3
[1, 2]
但我希望 for 语句会弹出列表中的所有元素并将 c.b.a.s 保留为 []。
问题: 我在代码中省略了某些内容,还是 pop() 方法有问题?
【问题讨论】:
-
改用
for i in range(len(c.b.a.s))