Инструменты пользователя

Инструменты сайта


help:tuples

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:tuples [2025/09/27 06:47]
aleks_versus Унарный минус для кортежей.
help:tuples [2026/04/05 16:56] (текущий)
byte [Ограничения кортежей]
Строка 68: Строка 68:
 </​sxh>​ </​sxh>​
  
 +Эта же операция используется для добавления отдельных значений в кортеж:​
 +
 +<sxh qsp>
 +%tpl = [1, 2, 3, 4]
 +%tpl = (%tpl & 5)
 +%tpl & ! [1,2,3,4,5]
 +</​sxh>​
 ==== Увеличение значений кортежа + ==== ==== Увеличение значений кортежа + ====
  
Строка 182: Строка 189:
 </​sxh>​ </​sxh>​
  
 +===== Сравнение кортежей =====
 +
 +Любые [[help:​expressions|операции сравнения]] можно использовать и для сравнения кортежей. При этом:
 +
 +  * Кортежи сравниваются поэлементно,​ и большим оказывается тот кортеж,​ элемент которого оказался большим. Примеры:​ <sxh qsp>
 +%one = [12, 13, 14]
 +%two = [12, 13, 99]
 +! %one < %two т.к. 14 < 99
 +%three = [13]
 +! %three > %one т.к. 13 > 12
 +</​sxh>​
 +  * Любой непустой кортеж,​ всегда больше пустого кортежа. Отсюда следует,​ что если кортежи разной длины, можно представить недостающие элементы более короткого кортежа,​ как пустые элементы,​ а они всегда меньше непустых. Примеры:​ <sxh qsp>
 +%one = [12]
 +%two = [''​]
 +%empty = []
 +! %one > %empty
 +! %two > %empty
 +
 +%three = [12, ''​]
 +! %three > %one
 +</​sxh>​
 +  * при сравнении кортежа с числом или строкой,​ число или строка воспринимаются движком как кортеж из одного элемента:​ <sxh qsp>
 +%one = [12, 13]
 +! %one > 12
 +! %one < 13
 +! [] < 0 т.к. [0] - не пустой кортеж
 +</​sxh>​
 ===== Функции и операторы,​ работающие с кортежами ===== ===== Функции и операторы,​ работающие с кортежами =====
  
Строка 296: Строка 330:
   * Нельзя извлечь из кортежа одно конкретное значение,​ например,​ второе. Зато можно извлекать одно или несколько первых значений. В этом случае из набора переменных,​ в которые распаковывается кортеж,​ имя последней должно начинаться с символа ''​%%%%%'',​ так как в эту переменную будет упаковываться оставшаяся часть кортежа:​ <sxh qsp>   * Нельзя извлечь из кортежа одно конкретное значение,​ например,​ второе. Зато можно извлекать одно или несколько первых значений. В этом случае из набора переменных,​ в которые распаковывается кортеж,​ имя последней должно начинаться с символа ''​%%%%%'',​ так как в эту переменную будет упаковываться оставшаяся часть кортежа:​ <sxh qsp>
 %personage = ["​Петя",​ 27, 182, 92, "​боксёр"​] %personage = ["​Петя",​ 27, 182, 92, "​боксёр"​]
-$name, %tale = %personage+$name, %tail = %personage
 *pl $name &! '​Петя'​ *pl $name &! '​Петя'​
-$name, age, height, %tale = %personage+$name, age, height, %tail = %personage
 *pl "​Имя:​ <<​$name>>,​ возраст:​ <<​age>>,​ рост: <<​height>>​."​ *pl "​Имя:​ <<​$name>>,​ возраст:​ <<​age>>,​ рост: <<​height>>​."​
-weight, $sports = %tale+weight, $sports = %tail
 *pl $sports *pl $sports
 </​sxh>​ </​sxh>​
help/tuples.1758955657.txt.gz · Последние изменения: 2025/09/27 06:47 — aleks_versus