while循环中的pop变量完成后不会打印
pop variable in while loop will not print after completed
我试图将列表 greetings 中的所有问候语弹出到 sent_messages 列表中,但是当我打印 sent_messages 我只收到最后的问候语,而我想得到所有他们。
greetings = ['greetings', 'hello', 'good day', 'good evening']
while greetings:
print(greetings[0])
sent_messages = greetings.pop(0)
print(sent_messages)
pop 方法从列表中删除指定索引处的元素并 return 它。
每次 while 循环循环时,您的代码都会覆盖 sent_message
的值。所以只收到最后一句问候是完全正常的。
您的代码的这个修改示例可以帮助您说服自己 pop 确实按预期工作。
greetings = ['greetings', 'hello', 'good day', 'good evening']
while greetings:
print(greetings[0])
sent_messages = greetings.pop(0)
print(sent_messages)
你说你想把 poped 元素放在 sent_messages 列表中,这里是一个代码,可以满足你的期望:
greetings = ['greetings', 'hello', 'good day', 'good evening']
sent_messages = []
while greetings:
print(greetings[0])
sent_messages.append(greetings.pop(0))
print(sent_messages)
我们在使用之前创建 sent_messages
作为列表,并使用 .append
方法将它们添加到列表的末尾。
我试图将列表 greetings 中的所有问候语弹出到 sent_messages 列表中,但是当我打印 sent_messages 我只收到最后的问候语,而我想得到所有他们。
greetings = ['greetings', 'hello', 'good day', 'good evening']
while greetings:
print(greetings[0])
sent_messages = greetings.pop(0)
print(sent_messages)
pop 方法从列表中删除指定索引处的元素并 return 它。
每次 while 循环循环时,您的代码都会覆盖 sent_message
的值。所以只收到最后一句问候是完全正常的。
您的代码的这个修改示例可以帮助您说服自己 pop 确实按预期工作。
greetings = ['greetings', 'hello', 'good day', 'good evening']
while greetings:
print(greetings[0])
sent_messages = greetings.pop(0)
print(sent_messages)
你说你想把 poped 元素放在 sent_messages 列表中,这里是一个代码,可以满足你的期望:
greetings = ['greetings', 'hello', 'good day', 'good evening']
sent_messages = []
while greetings:
print(greetings[0])
sent_messages.append(greetings.pop(0))
print(sent_messages)
我们在使用之前创建 sent_messages
作为列表,并使用 .append
方法将它们添加到列表的末尾。