为什么pop方法会同时删除两个列表?

问题描述 投票:0回答:1

我正在做 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']
python methods crash
1个回答
0
投票

guest.pop()
每次调用时都会从列表中删除一个元素。

在您的第一个代码摘录中,第一次调用删除了

brad
,并且由于您没有将其分配给变量,因此它实际上丢失了。然后,您第二次调用
pop()
,删除
mark
,但这次您已将调用包装在 print 语句中,因此
mark
返回到 f 字符串并打印到控制台。

在第二个示例中,您仅对

pop()
进行一次调用,将结果
brad
存储在变量中,然后打印该变量。

© www.soinside.com 2019 - 2024. All rights reserved.