有没有不带值的Python dict?

有没有不带值的Python dict?,python,dictionary,Python,Dictionary,与此相反: a = {"foo": None, "bar": None} 有没有写这个的方法 b = {"foo", "bar"} 并且仍然让b具有固定时间访问权限(即不是Python集,无法键入)?是,集: set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. 相关的: 时间复杂度:为了在固定时间内“键入”

与此相反:

a = {"foo": None, "bar": None}
有没有写这个的方法

b = {"foo", "bar"}

并且仍然让
b
具有固定时间访问权限(即不是Python集,无法键入)?

是,

set() -> new empty set object
set(iterable) -> new set object

Build an unordered collection of unique elements.
相关的:

时间复杂度:

为了在固定时间内“键入”到集合中,请在中使用

>>> s = set(['foo', 'bar', 'baz'])
>>> 'foo' in s
True
>>> 'fork' in s
False

实际上,在Python 2.7和3.2+中,这确实有效:

>>> b = {"foo", "bar"}
>>> b
set(['foo', 'bar'])
您不能对集合使用
[]
访问(“键入”),但您可以测试是否包含:

>>> 'x' in b
False
>>> 'foo' in b
True
集合尽可能接近无值字典。它们具有平均大小写恒定时间访问,需要散列对象(即不在集合中存储列表或dict),甚至支持自己的理解语法:

{x**2 for x in xrange(100)}

“无法输入”是什么意思?如果没有值,“输入”的唯一方法是查看是否存在键,哪些设置可以使用集合中的
obj
。集合中的
obj
是否具有固定时间访问权限?不清楚您要的是什么。。。具体来说,您需要对其进行何种访问,以及您所说的键控是什么意思-into@RohitJain实际上最坏的情况是O(n)iirc。。。是的,但是O(1)Note
set
literals的平均大小写仅在2.7或3.x中,这可能会有点混淆<代码>“a”
在集合中,因为
集合(“abcd”)
将字符串视为四个字符的可数<代码>集合(“abcd”)与
集合(['a','c','b','d'])相同。
。因此,虽然
“fork”
肯定不在集合中,但
“abcd”
也不在集合中,这一答案可能暗示了这一点。
集合(['foo',bar',baz')
应该是
集合(['foo',bar',baz')
,但这更清楚:)如何添加一个无值键,尽管像b+=…?使用
b.add(v)
对单个项目或
b.update使用
b(v) 
从iterable复制元素。