Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 15

При попытке обращения к данным из базы с полем с типом Set получаю ошибку TypeError: 'set' object is not subscriptable

25.08.2020, 11:01. Показов 3064. Ответов 8

Студворк — интернет-сервис помощи студентам
C базой соединяюсь и данные которые мне необходимо получить я получаю
в итоге я получаю такой массив с данными

Python
1
{'id': 2, 'type': {'gmail.com'}, 'email': 'user@gmail.com', 'pass': 'PassWord'}
Данные в полях type pass и email
нормально получаю обращаясь так
email['email']+' '+email['pass']

Но как только я пытаюсь получить данные из поля type
email['type']
Вижу ошибку
TypeError: 'set' object is not subscriptable
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2020, 11:01
Ответы с готовыми решениями:

Ошибка "object variable or With block variable not set" при попытке обращения к форме. VBA Access 7.0.
Добрый день. Данный код Dim frm As Form Set frm = Form_frmAdd_EditWareList вызывает ошибку "object variable...

Ошибка 'set' object is not subscriptable
Помогите пожалуйста, столкнулся с проблемкой в коде. Я новичок, и поэтому не вижу очевидной ошибки, помогите найти её. human = {...

Выдает ошибку TypeError: 'int' object is not subscriptable
File "C:\Users\nazar\Desktop\6 task module.py", line 21, in <module> if bag >= max_bag and weight <= max_weight: TypeError: 'int'...

8
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
25.08.2020, 11:11
Непонятно, в чем ошибка... Вот так все работает:

Python
1
2
email={'id': 2, 'type': {'gmail.com'}, 'email': 'user@gmail.com', 'pass': 'PassWord'}
print(email["type"])
{'gmail.com'}
0
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 15
25.08.2020, 11:22  [ТС]
Все так и есть я наверное и получаю {'gmail.com'}

Но мне нужно как то получить само значение gmail.com
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
25.08.2020, 11:29
Лучший ответ Сообщение было отмечено vipTelnet как решение

Решение

Странное применение множества.
Python
1
tuple({'gmail.com'})[0]
1
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 15
25.08.2020, 11:34  [ТС]
tuple(email["type"])[0]
Спасибо то что нужно
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
25.08.2020, 11:37
Цитата Сообщение от vipTelnet Посмотреть сообщение
Но мне нужно как то получить само значение gmail.com
Python
1
2
3
4
5
6
>>> email={'id': 2, 'type': {'gmail.com'}, 'email': 'user@gmail.com', 'pass': 'PassWord'}
>>> print(email["type"])
{'gmail.com'}
>>> my_mail = email['type'].pop()
>>> my_mail
'gmail.com'
1
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
25.08.2020, 11:44
Welemir1, нарушает целостность данных. Копировать тогда нужно

Python
1
2
3
4
5
6
7
email_ = {'id': 2, 'type': {'gmail.com'}, 'email': 'user@gmail.com', 'pass': 'PassWord'}
my_mail = email_['type'].pop()
print(my_mail)
print(email_)
 
gmail.com
{'id': 2, 'type': set(), 'email': 'user@gmail.com', 'pass': 'PassWord'}
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
25.08.2020, 11:50
ioprst, да согласен, но я посудил, что все что нужно от этих данных мы уже получили.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.08.2020, 12:55
Цитата Сообщение от vipTelnet Посмотреть сообщение
TypeError: 'set' object is not subscriptable
У типа set (множество) нет метода квадратные скобки для доступа к элементам по индексу.
Множество в Python это неупорядоченная коллекция, извлекать элементы из нее можно только в случайном порядке указанным в постах выше методом pop. Еще у множества есть много других (математических) методов: пересечение, объединение, разница, симметричная разница и т.д.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2020, 12:55
Помогаю со студенческими работами здесь

При передаче функции готового списка - получаю ошибку TypeError: 'list' object is not callable
Вот как выглядит сама функция def Grad(self, a_SummErrors): The_dXdW = self.dXdW() return * The_dXdW for t in...

Выдаётся ошибка: TypeError: 'set' object is not callable
#Путь до файла folder = input('Введите полный путь до файла: ') trash_domens =...

Как исправить ошибку NullReferenceException: Object reference not set to an instance of an object
Делаю свой кликер и написал метод для сокращения чисел выпадающий при клике, но при вызове метода StartMoution, выводиться ошибка: ...

Как убрать ошибку NullReferenceException: Object reference not set to an instance of an object?
Выдаёт ошибку: NullReferenceException: Object reference not set to an instance of an object player.updateLife (System.Int32 damage) (at...

Как исправить ошибку NullReferenceException: Object reference not set to an instance of an object
Делаю свой кликер и написал метод для сокращения чисел выпадающий при клике, но при вызове метода StartMoution, выводиться ошибка: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru