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

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


help:tuples

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:tuples [2025/07/20 15:02]
aleks_versus
help:tuples [2025/09/28 14:51] (текущий)
aleks_versus [Объединение кортежей (конкатенация) &]
Строка 68: Строка 68:
 </​sxh>​ </​sxh>​
  
 +Эта же операция используется для добавления отдельных значений в кортеж:​
 +
 +<sxh qsp>
 +%tpl = [1, 2, 3, 4]
 +%tpl = (%tpl & 5)
 +%tpl & ! [1,2,3,4,5]
 +</​sxh>​
 ==== Увеличение значений кортежа + ==== ==== Увеличение значений кортежа + ====
  
Строка 140: Строка 147:
 [4, 10] / '​b'​ & ! ошибка о несоответствии типов данных [4, 10] / '​b'​ & ! ошибка о несоответствии типов данных
 </​sxh>​ </​sxh>​
 +
 +==== Отрицание кортежей (''​-''​ унарный минус) ====
 +
 +Общая запись:​
 +
 +<sxh qsp>
 +[%новый_кортеж] = -[%кортеж_1]
 +</​sxh>​
 +
 +Эта операция эквивалентна умножению кортежа на -1. Т.е. значения всех элементов кортежа будут умножены на -1. Примеры:​
 +
 +<sxh qsp>
 +%tpl = -[2] & ! [-2]
 +-[5,6,7] & ! [-5,-6,-7]
 +! a = 12
 +-[a, a+2, a+4] & ! [-12,​-14,​-16]
 +-[5,6,7]+3 & ! [-2,-3,-4]
 +-([5,​6,​7]+3) & ! [-8,-9,-10]
 +-[1,​[2,​-3],​-4] & ! [-1,​[-2,​3],​4]
 +</​sxh>​
 +
  
 ==== Операции с присваиванием ==== ==== Операции с присваиванием ====
Строка 161: Строка 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>​
 ===== Функции и операторы,​ работающие с кортежами ===== ===== Функции и операторы,​ работающие с кортежами =====
  
help/tuples.1753023767.txt.gz · Последние изменения: 2025/07/20 15:02 — aleks_versus