问题标签 [frozenset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4223 浏览

python - python TypeError:frozenset 最多期望 1 个参数,得到 4 个

尝试制作冻结集时出现此错误:

这是回溯:

这里有什么问题?我不能用多个字符串初始化一个 freezeset 吗?

0 投票
1 回答
2179 浏览

python - Python 冰雪奇缘

我正在使用frozenset,我想避免包含“frozenset”的输出。例如,我有

有任何想法吗?

0 投票
1 回答
809 浏览

python - 在 Python 3 中,frozenset 子类的实例应该是可散列的吗?

根据https://docs.python.org/2/library/stdtypes.html#frozenset,在 Python 2 中:

freezeset 类型是不可变的和可散列的——它的内容在创建后不能更改;但是,它可以用作字典键或另一个集合的元素。

但是根据https://docs.python.org/3.4/library/stdtypes.html#frozenset,在 Python 3 中,我看不到任何信息表明 freezeset 实例(或子类)应该是可散列的,只有 set/frozenset 元素:

集合元素,如字典键,必须是可散列的。

那么,以下代码是否应该适用于任何 Python 3 解释器,或者最后一行是否应该引发TypeError?

OSX Yosemite 10.10,系统 python2

OSX Yosemite 10.10,使用自制软件http://brew.sh/

Ubuntu 14.04.1 LTS (x86_64),系统 python3

TL;DR - 这是 Python 3 中的回归,还是经过深思熟虑的设计选择?

0 投票
1 回答
976 浏览

python - Python集合交集,有什么方法可以从更大的集合中返回元素?

当 Python 取两个集合的交集时,它总是从较小的集合返回元素,这在几乎所有情况下都是合理的,但我试图做相反的事情。

在下面的代码中,请注意交集产生一个整数,而不是浮点数。

如果我想得到一个浮点数,我必须使用一些繁重的复制。

我正在处理比上面的例子更大的集合。我的问题是是否有任何方法可以欺骗 Python set.intersection 方法从更大的集合中返回元素,或者除了我在这里所做的之外,是否还有另一种方法可以返回 float 1.0。

我首先这样做的原因是我试图通过对frozenset 进行子类化来在纯python 中实现一个冻结字典。我使用元组的子类存储键值对,我称之为“项目”,其中哈希仅返回键的哈希。使用下面的代码,我可以创建一个包含单个键值对的集合。然后我提取属性“值”并返回它。

我知道复制是缓慢的原因,因为当我尝试返回一个其键不在字典中的项目时,我立即得到一个 KeyError,即使对于具有 1000 万个项目的集合也是如此。

0 投票
3 回答
25851 浏览

python - 使用冻结集作为字典键是否安全?

它显然有效,但是否存在两组相同元素碰巧在字典中添加两个条目的情况?我想我早先得到了这个条件,并将我的代码从 更改frozenset(...)tuple(sorted(frozenset(...)))。知道 Dict 和 freezeset 实现方式的人可以确认是否需要这样做吗?

0 投票
3 回答
1438 浏览

python - 如果字典的键在冻结集中,则检索值

我正在使用 freezesets 来保留我的字典的键,以利用联合、差异和交叉操作。但是当我试图通过 dict.get() 从字典中的键检索值时,它会产生一个 None 值。

生产:

乃至:

生产:

如果您的键在冻结集中,如何从字典中检索值?

感谢Martijn Pieters!答案是 DVO(字典视图对象)和生成器表达式,如果您想将结果添加到 list()

0 投票
1 回答
680 浏览

python - 具有相同哈希值的不同python冻结集

我的理解是散列需要包含可散列对象的两个不同的冻结集(不可变的 Python 集)应该导致两个不同的散列。为什么我会得到以下两个不同frozensets 的输出?

0 投票
0 回答
1770 浏览

python - Python freezeset 写入 JSON

我有一个带有 freezeset 类型(可变长度、非重复数据)键的字典,我需要将此字典写入 JSON 文件。

但是,我的问题是frozenset(虽然不可变)不是Python简单数据类型,我在以下结果中收到此类型错误json.dump(myDict, myFile)

TypeError: key freezeset({'myKey'}) 不是字符串

谁能帮我一些提示或解决方案?我正在使用 Python 3.4。

我知道我可以手动序列化对象,但是没有其他更自动的方法吗?!

0 投票
5 回答
20012 浏览

python - “frozenset”对象不可调用

当我尝试hashlib在任何上下文中导入时,它会引发此错误:

知道如何解决这个问题吗?我只是通过打开终端,运行python然后键入来生成此错误import hashlib

0 投票
1 回答
212 浏览

python-2.7 - 从 python2 到 python3 的 Frozenset

使用 freezeset 从 python2 到 python3 发生了什么变化?

我注意到了这种不同的行为:Python2:

Python3

并且:

Python2

Python3

为什么?谢谢