вложенных%20наборов — XWiki

  1. документация
  2. подсказок%20и%20трюков
  3. вложенных%20наборов

Уведомление

Запрошенный страница не найдена.

Вы искали одну из следующих страниц?

  • Добро пожаловать в EasyVista Wiki / FAQ | Устранение неполадок | Передовой опыт/понимание вложенных наборов
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Лучшая практика
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Лучшие практики / сервисные приложения — часто задаваемые вопросы
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Лучшая практика / правила написания SQL-запросов
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Передовой опыт / загрузка документов
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Передовая практика / Настройка HTML
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Передовой опыт/примеры регулярных выражений
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Передовой опыт/Активация таблиц PATH
  • Добро пожаловать в EasyVista Wiki/Часто задаваемые вопросы | Устранение неполадок | Передовой опыт/решение проблем с производительностью

python — добавить набор в набор и создать вложенные наборы

Задавать вопрос

спросил

Изменено 8 лет, 4 месяца назад

Просмотрено 11 тысяч раз

В Python я хочу создавать наборы, состоящие из наборов, поэтому я получаю набор наборов (вложенных наборов).

Пример:

 {{1,2}, {2,3}, {4,5}}
 

Однако, когда я пытаюсь сделать следующее:

 s = set()
s.add(установить((1,2)))
 

Я получаю сообщение об ошибке:

 Трассировка (последний последний вызов):
  Файл "", строка 1, в 
    s.add(установить((1,2)))
TypeError: unhashable type: 'set'
 

Может ли кто-нибудь сказать мне, где моя ошибка и как я могу достичь своей цели, пожалуйста?

  • python
  • набор
  • вложенный

Ваша проблема в том, что наборы могут содержать только хешируемые объекты и set не хешируется.

Вы должны использовать тип замороженного набора , который является хешируемым, для элементов внешнего набора.

 В [3]: s = набор ([замороженный набор ([1,2]), замороженный набор ([3,4])])
В [4]: ​​с
Выход[4]: {замороженный набор ({1, 2}), замороженный набор ({3, 4})}
 
3

У вас не может быть набора наборов, потому что наборы являются неразрешимыми объектами; их можно видоизменять, добавляя или удаляя из них элементы.