Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Python — кортежи

Предыдущая страницаСледующая страница

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

Создать кортеж так же просто, как указать разные значения, разделенные запятыми. При желании вы также можете поместить эти значения, разделенные запятыми, в круглые скобки. Например —

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

Пустой кортеж записывается в виде двух ничего не содержащих круглых скобок —

tup1 = ();

Чтобы написать кортеж, содержащий одно значение, вы должны поставить запятую, даже если есть только одно значение —

tup1 = (50,);

Как и индексы строк, индексы кортежей начинаются с 0, и их можно нарезать, объединять и т. д.

Доступ к значениям в кортежах

Чтобы получить доступ к значениям в кортеже, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение, доступное по этому индексу. Например —

Живая демонстрация
#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];

Когда приведенный выше код выполняется, он дает следующий результат —

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

Обновление кортежей

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

Живая демонстрация
#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

Когда приведенный выше код выполняется, он дает следующий результат —

(12, 34.56, 'abc', 'xyz')

Удалить элементы кортежа

Удаление отдельных элементов кортежа невозможно. Конечно, нет ничего плохого в том, чтобы собрать еще один кортеж с отброшенными нежелательными элементами.

Чтобы явно удалить весь кортеж, просто используйте del утверждение. Например —

Живая демонстрация
#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;

Это приводит к следующему результату. Обратите внимание на поднятое исключение, потому что после del tup кортеж больше не существует -

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
   File "test.py", line 9, in <module>
      print tup;
NameError: name 'tup' is not defined

Основные операции с кортежами

Кортежи реагируют на операторы + и * так же, как строки; здесь они также означают конкатенацию и повторение, за исключением того, что результатом является новый кортеж, а не строка.

На самом деле кортежи реагируют на все общие операции над последовательностями, которые мы использовали для строк в предыдущей главе —

<тд>3 <тд>1 2 3
Выражение Python Результаты Описание
len((1, 2, 3)) Длина
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Конкатенация
('Привет!',) * 4 ('Привет!', 'Привет!', 'Привет!', 'Привет!') Повторение
3 дюйма (1, 2, 3) Верно Членство
для x в (1, 2, 3):напечатайте x, Итерация

Индексирование, срезы и матрицы

Поскольку кортежи представляют собой последовательности, индексирование и нарезка для кортежей работают так же, как и для строк. Предполагая следующий ввод —

L = ('spam', 'Spam', 'SPAM!')

Выражение Python Результаты Описание
Л[2] 'СПАМ!' Смещения начинаются с нуля
L[-2] 'Спам' Отрицательный:считать справа
Л[1:] ['Спам', 'СПАМ!'] Нарезка разделов выборки

Без закрывающих разделителей

Любой набор из нескольких объектов, разделенных запятыми, записанный без идентифицирующих символов, т. е. скобок для списков, скобок для кортежей и т. д., по умолчанию является кортежами, как показано в этих коротких примерах —

Живая демонстрация
#!/usr/bin/python

print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;

Когда приведенный выше код выполняется, он дает следующий результат —

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2

Встроенные функции кортежа

Python включает следующие функции кортежа —

Серийный номер Функция с описанием
1 cmp(кортеж1, кортеж2)

Сравнивает элементы обоих кортежей.

2 len(кортеж)

Выдает общую длину кортежа.

3 max(кортеж)

Возвращает элемент из кортежа с максимальным значением.

4 мин(кортеж)

Возвращает элемент из кортежа с минимальным значением.

5 кортеж (последовательность)

Преобразует список в кортеж.


Python

  1. Типы данных Python
  2. Операторы Python
  3. Оператор передачи Python
  4. Аргументы функции Python
  5. Словарь Питона
  6. Итераторы Python
  7. Замыкания Python
  8. Дата и время Python
  9. Сон питона ()
  10. Python TUPLE — упаковка, распаковка, сравнение, нарезка, удаление, ключ