问题标签 [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.
python - python TypeError:frozenset 最多期望 1 个参数,得到 4 个
尝试制作冻结集时出现此错误:
这是回溯:
这里有什么问题?我不能用多个字符串初始化一个 freezeset 吗?
python - Python 冰雪奇缘
我正在使用frozenset,我想避免包含“frozenset”的输出。例如,我有
有任何想法吗?
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 中的回归,还是经过深思熟虑的设计选择?
python - Python集合交集,有什么方法可以从更大的集合中返回元素?
当 Python 取两个集合的交集时,它总是从较小的集合返回元素,这在几乎所有情况下都是合理的,但我试图做相反的事情。
在下面的代码中,请注意交集产生一个整数,而不是浮点数。
如果我想得到一个浮点数,我必须使用一些繁重的复制。
我正在处理比上面的例子更大的集合。我的问题是是否有任何方法可以欺骗 Python set.intersection 方法从更大的集合中返回元素,或者除了我在这里所做的之外,是否还有另一种方法可以返回 float 1.0。
我首先这样做的原因是我试图通过对frozenset 进行子类化来在纯python 中实现一个冻结字典。我使用元组的子类存储键值对,我称之为“项目”,其中哈希仅返回键的哈希。使用下面的代码,我可以创建一个包含单个键值对的集合。然后我提取属性“值”并返回它。
我知道复制是缓慢的原因,因为当我尝试返回一个其键不在字典中的项目时,我立即得到一个 KeyError,即使对于具有 1000 万个项目的集合也是如此。
python - 使用冻结集作为字典键是否安全?
它显然有效,但是否存在两组相同元素碰巧在字典中添加两个条目的情况?我想我早先得到了这个条件,并将我的代码从 更改frozenset(...)
为tuple(sorted(frozenset(...)))
。知道 Dict 和 freezeset 实现方式的人可以确认是否需要这样做吗?
python - 如果字典的键在冻结集中,则检索值
我正在使用 freezesets 来保留我的字典的键,以利用联合、差异和交叉操作。但是当我试图通过 dict.get() 从字典中的键检索值时,它会产生一个 None 值。
生产:
乃至:
生产:
如果您的键在冻结集中,如何从字典中检索值?
感谢Martijn Pieters!答案是 DVO(字典视图对象)和生成器表达式,如果您想将结果添加到 list()
python - 具有相同哈希值的不同python冻结集
我的理解是散列需要包含可散列对象的两个不同的冻结集(不可变的 Python 集)应该导致两个不同的散列。为什么我会得到以下两个不同frozensets 的输出?
python - Python freezeset 写入 JSON
我有一个带有 freezeset 类型(可变长度、非重复数据)键的字典,我需要将此字典写入 JSON 文件。
但是,我的问题是frozenset(虽然不可变)不是Python简单数据类型,我在以下结果中收到此类型错误json.dump(myDict, myFile)
:
TypeError: key freezeset({'myKey'}) 不是字符串
谁能帮我一些提示或解决方案?我正在使用 Python 3.4。
我知道我可以手动序列化对象,但是没有其他更自动的方法吗?!
python - “frozenset”对象不可调用
当我尝试hashlib
在任何上下文中导入时,它会引发此错误:
知道如何解决这个问题吗?我只是通过打开终端,运行python
然后键入来生成此错误import hashlib
。
python-2.7 - 从 python2 到 python3 的 Frozenset
使用 freezeset 从 python2 到 python3 发生了什么变化?
我注意到了这种不同的行为:Python2:
Python3
并且:
Python2
Python3
为什么?谢谢