Essayez [(val,)] = t
In [8]: t = [("asdf",)]
In [9]: (val,) = t
In [10]: val
Out[10]: ('asdf',)
In [11]: [(val,)] = t
In [12]: val
Out[12]: 'asdf'
Je ne pense pas qu'il y ait un moyen propre pour aller à ce sujet. Est mon choix initial, mais il semble plutôt moche.
[(val,)] = t
fonctionne également mais semble moche aussi. Je suppose que cela dépend de ce qui est plus facile à lire et de ce que vous voulez regarder moins laid, ou t
J'ai aimé l'idée de Lior que le déballage de la liste et du tuple contient une affirmation.
In [16]: t2 = [('asdf',), ('qwerty',)]
In [17]: [(val,)] = t2
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-73a5d507863a> in <module>()
----> 1 [(val,)] = t2
ValueError: too many values to unpack
Je viens de tester cela, et cela ne fonctionne pas. Malheureusement, il ne s'éloigne pas de la liste initiale. –
L'exemple de la question fonctionne. Qu'avez-vous essayé de faire exactement? – Lior
Mes excuses, je l'ai encore essayé et cela fonctionne. Je ne sais pas pourquoi cela n'a pas fonctionné avant; Tout ce que je peux penser, c'est que j'ai quitté le ',' après 'value'. –