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

Что такое tuple?

11.09.2020, 08:18. Показов 1791. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста как преподаватели обьясняют значение слова tuple?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.09.2020, 08:18
Ответы с готовыми решениями:

List и Tuple, что когда использовать?
Я так понимаю, что tuple этот тот же list, только без возможности добавления элементов. Таким образом везде можно использовать только...

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с серверами я ничего не понимаю! что...

36
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 11:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Avazart Посмотреть сообщение
Вообще то set и dict это хеш таблицы
Да. А hash таблицей в Python считается dict. set же не имеет собственной реализации и является просто dict'ом без значений(явных).
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 11:53
Цитата Сообщение от Garry Galler Посмотреть сообщение
t. set же не имеет собственной реализации и является просто dict'ом без значений(явных).
Ну хеш таблица без значений.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.09.2020, 16:45
Цитата Сообщение от Avazart Посмотреть сообщение
Ну хеш таблица без значений.
Лутц так же говорит. Но хеш таблица не является упорядоченной. Ее особенность что каждому не изменяемому объекту можно по определенному алгоритму поставить в соответствие конкретное число и только одно. В результате потом из этого числа можно восстановить этот объект. Но вопрос упорядочивания здесь не возникает. Поэтому словари с хешируемыми ключами не упорядоченны. У множеств элементами могут быть только хешируемые (и потому не изменяемые) объекты. Элементы в множествах не упорядочены, то есть каждый элемент не имеет своего постоянного места, как в кортеже.
У меня создается впечатление, что Вы посто не так как большинство людей понимаете слово порядок. У Вас видимо нет жены, которая следит, что бы в доме был порядок. Что бы каждая вещь лежала в отведенном для нее месте. У Вас видимо все валяется где попало. Это как раз называется беспорядком, в отличие от порядка.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 17:01
В хеш таблице элементы располагаются в зависимости от хеша их ключа. Т.е. по сути хеш это индекс ячейки (корзины,bucket) в которой будет элемент, можно грубо сказать что они упорядочены по значению хеша. Так что опять о каком именно порядке идет речь стоит уточнять.

Не по теме:

P.S:Что лучше беспорядочный порядок или порядочный беспорядок?

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 17:32
Цитата Сообщение от Viktorrus Посмотреть сообщение
Но хеш таблица не является упорядоченной.
В Python своя реализация таблицы, поэтому она она как раз упорядочена согласно порядку вставки (чего нет в обычных реализациях hashtable).
Сначала у этого порядка был статус побочного эффекта после нововведений в dict версии 3.6, затем в 3.7 этот порядок закрепили официально в спецификации языка.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
12.09.2020, 17:42
Наиболее интересное для программиста отличие кортежа от списка - он хешируемый.
То есть кортежи могут быть, например, ключами словаря, а списки - нет

Добавлено через 34 секунды
Разумеется, если хешируемы его элементы, это важно
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 18:00
Цитата Сообщение от Garry Galler Посмотреть сообщение
В Python своя реализация таблицы, поэтому она она как раз упорядочена согласно порядку вставки (чего нет в обычных реализациях hashtable).
Сначала у этого порядка был статус побочного эффекта после нововведений в dict версии 3.6, затем в 3.7 этот порядок закрепили официально в спецификации языка.
Да там скорее всего порядок обеспечивается внутренним list-ом, собственно в С++ это легко допиливается но это накладные расходы., нафига это надо если был OrderedDict непонятно.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 18:12
Цитата Сообщение от Avazart Посмотреть сообщение
нафига это надо если был
Это не была преднамеренная фича. Так получилось.
К тому же OrderedDict это pure Python, а значит в любом случае эффективнее теперь использовать встроенный dict.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
12.09.2020, 18:14
Цитата Сообщение от Avazart Посмотреть сообщение
нафига это надо если был OrderedDict непонятно.
со словарем бьются год от года чтобы сделать его быстрее и меньше по размеру, и таки получается. Пруфы в видео Хеттингера о словарях в питоне. И да, порядок -это случайная фича, которая просто пришла приятным бонусом к уменьшению памяти и увеличению скорости.

Вот это самое видео, смотреть всем, шок-контент, запрещено
https://www.youtube.com/watch?... =PyCon2017
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.09.2020, 18:40
Цитата Сообщение от Garry Galler Посмотреть сообщение
В Python своя реализация таблицы, поэтому она она как раз упорядочена
Когда я читал про хеширование в Википедии, я понял так, что хешируемому объекту по определенной технологии можно вычислить число, которое строго соответствует этому объекту. Если в строке (которая как мы знаем хешируется) поменять хотя бы одну букву, то получим уже другое число.
https://ru.wikipedia.org/wiki/... 0%B8%D1%8F
Почему в словарях при использовании хеширования ключей идет быстрее поиск значения в словаре для заданного ключа? Я не знаю как внутренне устроен питон, но предполагаю, что при создании словаря создается таблица, где каждому хешу конкретного ключа ставится в соответствие значение из словаря. И эти хеш числа упорядочены. Тогда получая на вход ключ словаря, он преобразуется в свой хеш и там в упорядоченной последовательности хеш-чисел быстро ищется значение для словаря, соответствующее заданному ключу словаря. И это значительно ускоряет поиск значения по ключу в словаре. Я полагаю, что работает так, но это только мое предположение, которое объясняет почему в словарях используется хеш-технология.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 20:03
Цитата Сообщение от Welemir1 Посмотреть сообщение
со словарем бьются год от года чтобы сделать его быстрее и меньше по размеру, и таки получается.
Неужели изначальный вариант был настолько не оптимальным?

Добавлено через 3 минуты
Цитата Сообщение от Welemir1 Посмотреть сообщение
Пруфы в видео Хеттингера о словарях в питоне.
Пруфы это когда показывают исходники на Си с указанием тех или иных моментов, а так ...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 20:20
Цитата Сообщение от Avazart Посмотреть сообщение
Неужели изначальный вариант был настолько не оптимальным?
https://mail.python.org/piperm... 23028.html
0
12.09.2020, 20:21

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Неужели изначальный вариант был настолько не оптимальным?
в видео все рассказывают

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 20:22
Цитата Сообщение от Avazart Посмотреть сообщение
Пруфы это
А исходники можно всегда открыть самостоятельно.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 20:28
Цитата Сообщение от Garry Galler Посмотреть сообщение
https://mail.python.org/piperm... 23028.html
"with faster iteration" вот это главное, т.е. что и требовалось доказать они пытались достичь быстрой итерации по словарю.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.09.2020, 20:31
Цитата Сообщение от Avazart Посмотреть сообщение
они пытались достичь быстрой итерации
В дополнение к экономии места, новая компоновка памяти
делает итерацию быстрее
Так что это скорей опять же побочный эффект сжатия по памяти, а не цель.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2020, 20:33
Побочным эффектом может быть увеличение памяти, а не наоборот скорее всего они память где-то в другом месте срезали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2020, 20:33
Помогаю со студенческими работами здесь

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое напряжение и что такое сила тока с позиции заряженных частиц
Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц. Например, имеется проводник в цепи, чем...

Что такое монитор и что такое мьютекс? Это же разные вещи?
Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг с другом. Хотелось бы, чтобы кто-нибудь...

SFML - ошибка "std::tuple<sf::RenderWindow>::tuple: ни одна из 2 перегрузок не может преобразовать все типы аргументов"
Хотел создать поток, передаю в функцию переменную window, где хранится игровое окно. При компиляции выдаёт такую ошибку. Открыл файл с...

Объект TDictionary. Что такое ключ и что такое значение?
Из прочитанного в гугле понял что это нечто наподобие какого-то словаря: Коллекция пар ключ-значение. и что работать будет только на...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru