【发布时间】:2020-09-06 10:54:14
【问题描述】:
我有两个设置列表:
a = [(1,2),(3,4),(5,6),(7,8)]
b = [(1,5),(7,7),(2,9),(0,3)]
我想删除每个列表的第一个和最后一个元素。这就是我所做的:
for idx, f in enumerate(a):
print(f[idx].pop(0))
print(f[idx].pop())
for idx, g in enumerate(b):
print(g[idx].pop(0))
print(g[idx].pop())
出现以下错误:
AttributeError: 'tuple' 对象没有属性 'pop'
预期结果:
a = [(3,4),(5,6)]
b = [(7,7),(2,9)]
【问题讨论】:
-
为什么不直接切片呢?
-
但是为什么如果我写这个
a[1].pop(),它会起作用?当我迭代时,我收到错误@MD.KhairulBasar -
确实,'tuple' 对象没有属性'pop',但是元组确实实现了these methods
-
为什么需要一个循环来弹出 2 个特定元素?
-
我实际上有多个列表。它比给出的这个例子更复杂。需要循环
标签: python