gpt4 book ai didi

Python - 在 for 循环中使用 frozenset 条目列表的问题

转载 作者:太空狗 更新时间:2023-10-30 01:06:45 24 4
gpt4 key购买 nike

我正在尝试从一本使用 Python 的书中学习先验机器学习算法,作为学习的一部分,我目前遇到以下问题:

以下代码结构似乎工作正常:

Ck = [[1], [2], [3], [4], [5]]
for tranid in range(10):
for candidate in Ck:
print("Printing candidate value: ", candidate)

但是,以下内容不起作用:

Ck = [[1], [2], [3], [4], [5]]
Ck2 = map(frozenset, Ck)
for tranid in range(10):
for candidate in Ck2:
print("Printing candidate value: ", candidate)

当我将原始 iterable 的每个元素映射到 frozenset 时,我注意到内部循环(“for candidate in Ck2”)只执行一次。之后它永远不会执行。上面没有 frozenset 的代码正确地循环了 10 次内部循环。但是,通过 frozenset 映射,我可以让内部循环只执行一次。

请帮我解决这个问题。这本书已将可迭代值映射到 frozenset,因为他们不希望它为了算法的目的而可变。我只是想按原样遵循它。

我在 Anaconda (Spyder) 上使用 Python 3.5.1。

请帮忙,因为我是 Python 和机器学习的新手。

感谢和问候,马赫什。

最佳答案

map 运算符不返回 python3 中的列表您可以重复迭代,但是是一次性迭代器。在python3.x中,map的作用类似于python2.x中的itertools.imap

要解决这个问题,请使用

 Ck2=list(map(frozenset, Ck)))

并查看 Getting a map() to return a list in Python 3.x获取更多信息和其他解决方案。

关于Python - 在 for 循环中使用 frozenset 条目列表的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336142/

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