И пусть b имеет постоянный доступ времени (т.е. не набор Python, на который нельзя вводить ключ)?
Ответ 1
Собственно, в Python 2.7 и 3.2+ это действительно работает:
>>> b = {"foo", "bar"}
>>> b
set(['foo', 'bar'])
Вы не можете использовать доступ [] к набору ( "ключ в" ), но вы можете проверить его на включение:
>>> 'x' in b
False
>>> 'foo' in b
True
Наборы как можно ближе к словарям, не имеющим значения. Они имеют доступ к постоянному времени в среднем случае, требуют хешируемых объектов (т.е. Нет списков хранения или диктов в наборах) и даже поддерживают свой собственный синтаксис понимания:
{x**2 for x in xrange(100)}
Ответ 2
Да, sets:
set() -> new empty set object
set(iterable) -> new set object
Build an unordered collection of unique elements.