我正在做 Python 速成课程,我开始了这个练习,我想知道为什么 pop 方法会删除我的客人的两个列表。
guest = ['aaron', 'john', 'pedro', 'kevin', 'mark', 'brad']
print(guest)
guest.pop()
print(f"{guest.pop()}")
print(guest)
输出:
['aaron', 'john', 'pedro', 'kevin', 'mark', 'brad']
mark
['aaron', 'john', 'pedro', 'kevin']
我尝试用变量分配它,现在它可以工作了。和第一个有什么不同?
guest = ['aaron', 'john', 'pedro', 'kevin', 'mark', 'brad']
print(guest)
guest_1 = guest.pop()
print(f"{guest_1}")
print(guest)
输出:
['aaron', 'john', 'pedro', 'kevin', 'mark', 'brad']
brad
['aaron', 'john', 'pedro', 'kevin', 'mark']
guest.pop()
每次调用时都会从列表中删除一个元素。
在您的第一个代码摘录中,第一次调用删除了
brad
,并且由于您没有将其分配给变量,因此它实际上丢失了。然后,您第二次调用 pop()
,删除 mark
,但这次您已将调用包装在 print 语句中,因此 mark
返回到 f 字符串并打印到控制台。
在第二个示例中,您仅对
pop()
进行一次调用,将结果 brad
存储在变量中,然后打印该变量。