Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 220
Из них просматривают:
Аналоги: 87. Видео: 1. Даташиты: 86. Инструкции: 7. Магазин: 1. Новости: 20. Остальное: 4. Программы: 1. Производители: 3. Профиль пользователя: 4. Форум: 5. Чат: 1.
Участников: 3
Гостей: 217

Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

5.5. Кортежи

Списки и строки имеют много общего, например, для них можно получить элемент по индексу или применить операцию среза. Это два примера последовательностей. Ещё одним встроенным типом последовательностей является кортеж (tuple).

Кортеж состоит из набора значений, разделенных запятой, например:

 

>>> t = 12345, 54321, 'hello!'
>>> t[0]
12345
>>> t
(12345, 54321, 'hello!')
>>> # Кортежи могут быть вложенными:
... u = t, (1, 2, 3, 4, 5)
>>> u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))

 

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

Кортежи имеют множество применений: пара координат (x, y), запись в базе данных и т.д. Кортежи, как и строки, не допускают изменений: нельзя присвоить значение элементу кортежа (тем не менее, Вы можете имитировать такую операцию с помощью срезов и последующего объединения).

Для того, чтобы сконструировать пустые или содержащие один элемент кортежи, приходится идти на синтаксические ухищрения. Пустой кортеж создается с помощью пустой пары скобок, кортеж с одним элементом — с помощью значения и следующей за ним запятой (не достаточно заключить значение в скобки). Несколько неприятно, но эффективно. Например:

 

>>> empty = ()
>>> # Обратите внимание на завершающую запятую
... singleton = 'hello',
>>> len(empty)
0
>>> empty
()
>>> len(singleton)
1
>>> singleton
('hello',)

 

Инструкция t = 12345, 54321, 'hello!' — пример упаковки в кортеж: значения 12345, 54321 и 'hello!' упаковываются вместе в один кортеж. Также возможна обратная операция — распаковки кортежа:

 

>>> x, y, z = t

 

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

 

>>> a = ['spam', 'eggs', 100, 1234]
>>> a1, a2, a3, a4 = a

 

Как мы уже говорили, кортежи, как и строки, не допускают изменений. Однако, в отличие от строк, кортежи могут содержать объекты, которые можно изменить с помощью методов:

 

>>> t = 1, ['foo', 'bar']
>>> t
(1, ['foo', 'bar'])
>>> t[1] = [] # Ошибка
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t[1].append('baz') # Правильно
>>> t
(1, ['foo', 'bar', 'baz'])

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Для выпаивания микросхем в DIP корпусе пользуюсь проверенной технологией . Которая дает неплохие результаты , сохраняя при этом как микросхему так и дорожки печатной платы .

Похожие инструкции