Notas do Python (7): Definição e uso de tuplas

Pouco conhecimento, grande desafio! Este artigo está participando de "Conhecimento essencial para programadores"Atividades Criativas.

Olá a todos, estouuma semana de tigela, um front end que não quer ficar bêbado (involudo). Se o artigo escrito tiver a sorte de obter seu favor, eu sou muito afortunado~

escreva na frente

Em Python, uma tupla é um tipo de dados muito semelhante a uma lista, exceto que os elementos da lista podem ser modificados, enquanto os elementos da tupla não podem ser modificados .

Definindo e usando tuplas

definição

A definição de elementos geralmente usa ()a sintaxe literal de parênteses, o código de exemplo é o seguinte:

tuple1 = ("Hello", "一碗周", "你好")

print(type(tuple1))  # 查看元组类型  <class 'tuple'>
print(tuple1)  # ('Hello', '一碗周', '你好')
复制代码

usar

Os operadores e métodos de uso suportados pelas tuplas são os mesmos das listas. O código de exemplo é o seguinte:

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
复制代码

Um vazio ()significa uma tupla vazia. Há dois elementos em uma tupla, que é chamada de duas tuplas. Se houver cinco, é chamado de cinco tuplas, mas se estiver dentro, não ('hello')é uma tupla, e o parênteses são alterados. Parênteses de precedência, se você quiser colocar entre parênteses, você precisa adicionar uma vírgula ,, caso contrário não representa uma tupla. O código de exemplo é o seguinte:

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'>
复制代码

Cenários de aplicativos de tupla

embalar e desembalar

Ao atribuir vários valores separados por vírgula a uma variável, os vários valores serão compactados em um tipo de tupla; ao atribuir uma tupla a várias variáveis, a tupla será descompactada em vários valores e depois atribuída ao correspondente variável, o código de exemplo é o seguinte:

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
复制代码

Se o número de elementos for inconsistente com o número de variáveis ​​ao descompactar, ocorrerá um erro, como o código a seguir

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 unpackValores insuficientes para descompactar

ValueError: not enough values to unpackMuitos valores descompactados

A maneira de resolver o erro que o número de variáveis ​​é menor que o número de tuplas é usar *curingas. Com esse curinga, uma variável pode receber vários valores e uma variável é transformada em uma lista. Esse curinga só pode aparecer uma vez. Código de exemplo da seguinte forma:

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
复制代码

troque os valores de duas variáveis

Em Python, para trocar os valores de duas variáveis a​​e bbasta usar código como o seguinte

a, b = b, a
复制代码

Da mesma forma, se você quiser trocar os valores das três variáveis a​​, b, , ou seja, assign , assign , assign , você pode fazer o mesmo.cbacbac

a, b, c = b, c, a
复制代码

Faça uma função retornar vários valores

Se returnhouver dois valores na declaração, os dois valores são montados em uma tupla de 2 e retornados. Portanto, chamar a função definida obterá essa duas tuplas, e você também poderá atribuir os dois valores na tupla dupla a duas variáveis ​​por meio da sintaxe de descompactação.

Acho que você gosta

Origin juejin.im/post/7022990623774867492
Recomendado
Clasificación