21

Python には次のようなタプルがあります。

tuple = ('sparkbrowser.com', 0, 'http://facebook.com/sparkbrowser', 'Facebook')

そして、タプルからすべてのアイテムを独立して取得できるように分割したいので、次のようなことができます。

domain = "sparkbrowser.com"
level = 0
url = "http://facebook.com/sparkbrowser"
text = "Facebook"

またはそれに似たもの、私の必要性はすべてのアイテムを分離することです. タプルを試してみ.split(",")ましたが、タプルに分割オプションがないというエラーが表示されました。

4

4 に答える 4

47

Python はシーケンスを自然にアンパックできます。

domain, level, url, text = ('sparkbrowser.com', 0, 'http://facebook.com/sparkbrowser', 'Facebook')
于 2013-08-22T06:18:15.320 に答える
14

tuple変数名として使用しないことをお勧めします。

リストに変換する必要があるsplit(',')のような文字列がある場合に使用できます。'sparkbrowser.com,0,http://facebook.com/sparkbrowser,Facebook'ただし、すでにタプルがあるため、ここでは必要ありません。

正確に正しい数のコンポーネントがあることがわかっている場合は、直接解凍できます

the_tuple = ('sparkbrowser.com', 0, 'http://facebook.com/sparkbrowser', 'Facebook')
domain, level, url, text = the_tuple

Python3 には強力なアンパック構文があります。と だけを取得するにはdomaintext使用できます

domain, *rest, text = the_tuple

rest含まれます[0, 'http://facebook.com/sparkbrowser']

于 2013-08-22T06:24:18.360 に答える
4
>>> domain, level, url, text = ('sparkbrowser.com', 0, 'http://facebook.com/sparkbrowser', 'Facebook')
>>> domain
'sparkbrowser.com'
>>> level
0
>>> url
'http://facebook.com/sparkbrowser'
>>> text
'Facebook'
于 2013-08-22T06:22:58.803 に答える