Альтернативные значения. Продолжение.
Также можно задать альтернативные значения для отдельных элементов, но и альтернативные кортежи:
В данном случае первый шаблон будет соответствовать двум кортежам: ("Tom", 37) и ("Sam", 22).
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Также можно задать альтернативные значения для отдельных элементов, но и альтернативные кортежи:
В данном случае первый шаблон будет соответствовать двум кортежам: ("Tom", 37) и ("Sam", 22).
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Пропуск элементов.
Если нам не важен какой-то элемент кортежа, то в шаблоне вместо конкретного значния или переменной можно указать шаблон _:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Если нам не важен какой-то элемент кортежа, то в шаблоне вместо конкретного значния или переменной можно указать шаблон _:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Пропуск элементов. Продолжение.
Можно использовать прочерки для всех элементов кортежа, в этом случае значения всех этих элементов будут не важны:
В причем в последнем случае шаблон (_, _) по прежнему соответствует только двухэлементному кортежу
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Можно использовать прочерки для всех элементов кортежа, в этом случае значения всех этих элементов будут не важны:
В причем в последнем случае шаблон (_, _) по прежнему соответствует только двухэлементному кортежу
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Пропуск элементов. Продолжение.
В примере выше применяемые шаблоны соответствовали только двухэлементному кортежу. Однако также можно использовать одновременно шаблоны кортежей с разным количеством элементов:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
В примере выше применяемые шаблоны соответствовали только двухэлементному кортежу. Однако также можно использовать одновременно шаблоны кортежей с разным количеством элементов:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Кортеж с неопределенным количеством элементов.
Если необходимо сравнивать выражение с кортежем неопределенной длины, то можно определять все остальные значения кортежа с помощью символа * (звездочки):
В примере выше применяется параметр *rest, который соответствует всем остальным элементам. То есть в примере выше шаблоны ("Tom", 37, *rest) и (name, age, *rest) соответствуют любому кортежу с двумя элементами и больше. Все элементы начиная с третьего будут помещаться в параметр rest, который представляет массив значений.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Если необходимо сравнивать выражение с кортежем неопределенной длины, то можно определять все остальные значения кортежа с помощью символа * (звездочки):
В примере выше применяется параметр *rest, который соответствует всем остальным элементам. То есть в примере выше шаблоны ("Tom", 37, *rest) и (name, age, *rest) соответствуют любому кортежу с двумя элементами и больше. Все элементы начиная с третьего будут помещаться в параметр rest, который представляет массив значений.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Кортеж с неопределенным количеством элементов.
Если нам этот параметр (rest) не важен, но мы по прежнему хотим, чтобы шаблон соответствовал кортежу с неопределенным количеством элементов, мы можем использовать подшаблон *_:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Если нам этот параметр (rest) не важен, но мы по прежнему хотим, чтобы шаблон соответствовал кортежу с неопределенным количеством элементов, мы можем использовать подшаблон *_:
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи