Eu tenho alguns object.ID-s que eu tento armazenar na sessão do usuário como tupla. Quando adiciono o primeiro, ele funciona, mas a tupla parece, (u'2',)
mas quando tento adicionar um novo usando mytuple = mytuple + new.id
o erro got can only concatenate tuple (not "unicode") to tuple
.
python
python-2.7
tuples
Goran
fonte
fonte
(a+b)*c
new = a + b
vez denew = a + (b,)
. AFAICT, funciona da mesma maneira em python3 e python2.7.a += ('z',)
, conforme mencionado na abaixo respostaDesde o Python 3.5 ( PEP 448 ), você pode descompactar dentro de uma tupla, conjunto de listas e ditado:
fonte
Da tupla para a lista para a tupla:
Ou com uma lista mais longa de itens a serem anexados
da-te
O ponto aqui é: List é um tipo de sequência mutável . Assim, você pode alterar uma determinada lista adicionando ou removendo elementos. Tupla é um tipo de sequência imutável . Você não pode alterar uma tupla. Então você tem que criar um novo .
fonte
list
no início, acrescentar itens, e depois para o convertido final muito paratuple
então esta é a melhor solução +1A tupla só pode permitir a adição
tuple
a ela. A melhor maneira de fazer isso é:Eu tentei o mesmo cenário com os dados abaixo, tudo parece estar funcionando bem.
fonte
fonte
Formulário nº 1
Formulário # 2
fonte
TypeError: 'int' object is not iterable
Bottom line, a maneira mais fácil de acrescentar a uma tupla é colocar o elemento que está sendo adicionado entre parênteses e vírgula.
fonte