gpt4 book ai didi

python - list()连续两次应用于zip对象

转载 作者:行者123 更新时间:2023-12-04 03:20:50 25 4
gpt4 key购买 nike

我已经构建了一个zip对象,并且偶然地我注意到,如果我两次将list()应用于此对象,第二次它将产生[]。我的代码如下所示:

coordinate = ['x', 'y', 'z']
values = [5, 7, 9]

my_map = zip(coordinate, values)

my_map_list_first = list(my_map)
my_map_list_second = list(my_map)

print(my_map_list_first)
print(my_map_list_second)

代码输出为:
[('x', 5), ('y', 7), ('z', 9)]
[]

我是Python的新手,所以我的术语可能不是100%准确的。我尝试过在线查找解释,但是这里的问题是实际的问题是什么。 (好问题让他回答了一半)。由于我仍在学习Python,所以我可能不知道该问些什么。

我还尝试使用在另一个主题中看到的Python模拟器:
http://www.pythontutor.com/visualize.html#mode=display
但是我只看到了我所知道的-my_map_list_second是[],而不是真正发生的事情。
有人可以解释这里发生了什么吗?同时,也为我指出了有关“相似”问题的正确方向,尽管我相信随着Python的发展,这些问题会随着时间的流逝而变得清晰起来。

这也是我在这些论坛上的第一个端口。提前致谢。

最佳答案

您正在寻找有关generator的遮阳篷。

实际上,zip将创建一个generator,直到您将iterate付诸实践后,才使用您的示例中的list进行处理。另一个重要的属性是generator只能是iterate once

最后一个属性说明了为什么第二次获得空列表。

关于python - list()连续两次应用于zip对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58657324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com