Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Привет всем, яодна чаша в неделю, передняя часть, которая не хочет быть пьяной (завернутой). Если написанной статье посчастливилось получить вашу благосклонность, мне очень повезло~
написать впереди
В Python кортеж — это тип данных, очень похожий на список, за исключением того, что элементы в списке можно изменять, аЭлементы в кортеже не могут быть изменены.
Определение и использование кортежей
определение
Для определения элементов обычно используются круглые скобки()
Буквальный синтаксис, пример кода выглядит следующим образом:
tuple1 = ("Hello", "一碗周", "你好")
print(type(tuple1)) # 查看元组类型 <class 'tuple'>
print(tuple1) # ('Hello', '一碗周', '你好')
использовать
Операторы и методы использования, поддерживаемые кортежами, такие же, как и списки.Пример кода выглядит следующим образом:
tuple1 = ("Hello", "一碗周", "掘金", "开发者", "strive")
tuple2 = (10, 20, 60, 34)
# 拼接
tuple3 = tuple1 + tuple2
print(tuple3) # ('Hello', '一碗周', '掘金', '开发者', 'strive', 10, 20, 60, 34)
print(tuple2 * 2) # (10, 20, 60, 34, 10, 20, 60, 34)
# 索引和切片
print(tuple1[1], tuple1[-4]) # 一碗周 一碗周
print(tuple3[:2]) # ('Hello', '一碗周')
print(tuple3[::2]) # ('Hello', '掘金', 'strive', 20, 34)
# 遍历操作
for ch in tuple1:
print(ch)
'''
Hello
一碗周
掘金
开发者
strive
'''
# 成员运算
print("一碗周" in tuple1) # True
print("掘金" not in tuple1) # False
пустой()
Представляет собой пустой кортеж. В кортеже два элемента, который называется двухкортежным. Если их пять, он называется пятикортежным, но если он('hello')
Это не кортеж, круглые скобки становятся скобками, которые меняют приоритет; если вы хотите сделать это в круглых скобках, вам нужно добавить запятую,
, иначе он не представлял бы кортеж. Пример кода выглядит следующим образом:
a = ()
print(type(a)) # <class 'tuple'>
b = ('一碗周')
print(type(b)) # <class 'str'>
c = (100)
print(type(c)) # <class 'int'>
d = ('一碗周', )
print(type(d)) # <class 'tuple'>
e = (100, )
print(type(e)) # <class 'tuple'>
Сценарии применения кортежей
упаковка и распаковка
При присвоении переменной нескольких значений, разделенных запятыми, несколько значений будут упакованы в тип кортежа; при присвоении кортежа нескольким переменным кортеж будет распакован на несколько значений, а затем присвоен соответствующим переменная, пример кода выглядит следующим образом:
t = "Hello", "一碗周", "掘金", "开发者", "strive"
print(type(t)) # <class 'tuple'>
print(t) # ('Hello', '一碗周', '掘金', '开发者', 'strive')
x, y, z, i, j = t
print(x, y, z, i, j) # Hello 一碗周 掘金 开发者 strive
Если количество элементов не соответствует количеству переменных при распаковке, возникнет ошибка, например следующий код
t= ("Hello", "一碗周", "掘金", "开发者", "strive")
# x, y, z = t # ValueError: too many values to unpack
x, y, z, i, j, k, l = t # ValueError: not enough values to unpack
ValueError: too many values to unpack
Недостаточно значений для распаковки
ValueError: not enough values to unpack
Слишком много распакованных значений
Решение ошибки, связанной с тем, что кортежей переменных меньше, заключается в использовании*
Подстановочный знак. С помощью этого подстановочного знака переменная может принимать несколько значений, что превращает переменную в список. Этот подстановочный знак может появляться только один раз. Пример кода выглядит следующим образом:
t = ("Hello", "一碗周", "掘金", "开发者", "strive")
x, y, *z = t
print(x, y, z) # Hello 一碗周 ['掘金', '开发者', 'strive']
x, *y, z = t
print(x, y, z) # Hello ['一碗周', '掘金', '开发者'] strive
*x, y, z = t
print(x, y, z) # ['Hello', '一碗周', '掘金'] 开发者 strive
поменять местами значения двух переменных
В Python поменяйте местами две переменныеa
иb
Значение просто нужно использовать код, как показано ниже
a, b = b, a
Аналогично, если три переменные должны бытьa
,b
,c
обмен ценностями, т.b
назначатьa
,c
назначатьb
,a
назначатьc
, также можно сделать таким же образом.
a, b, c = b, c, a
Заставить функцию возвращать несколько значений
еслиreturn
В операторе есть два значения, которые собираются в 2-кортеж и возвращаются. Таким образом, вызов определенной функции получит эту двойку, и вы также можете присвоить два значения в двойке двум переменным через синтаксис распаковки.