2017-12-09 6 views
3

Python初心者ここに: リストと値を指定すると、リストを個別のオブジェクトに展開して値を前に付ける方法を教えてください。Python 2.7のリストから値をアンパックする

x = [1,2,3,4] 
y = 0,x 
y 

電流出力:

(0, [1, 2, 3, 4]) 

所望の出力:

(0, 1, 2, 3, 4) 

私はそれがPythonで簡単に行うことができます知っている、以下のコードとは異なり、配列の長さは、知られていません3 y = 0,*xを使用してどのようにPython 2.7で行うことができますか?

ありがとうございました

+0

結果はタプルである必要がありますか、またはリストはokですか? –

答えて

2

ここでは、アンパックは使用せず、連結のみを使用してください。

y = [0] + x 
+0

と@bernengがyをタプルにしたい場合、彼は単にy = tuple([0] + x)またはy = tuple(y)を実行できます。 –

2

挿入xにyを作るのxタプル

x = [1,2,3,4] 
y = 0 
x.insert(0,y) 
print(tuple(x)) 

出力

(0, 1, 2, 3, 4) 
+0

これはOPが望ましくないかもしれない 'x'を変更することに注意してください。 –

+0

なぜ 'x'を修正していますか?さらに、位置0に挿入することは、後続のすべてのリスト項目を上に移動してO(n)操作である必要があるため、比較的高価ですが、C速度で発生しますが、必要がない場合は避ける方が良い方法です。 –

1

あなたパラメータは開梱でそれを行うことができます。

>>> (lambda *a: a)(0, *x) 
(0, 1, 2, 3, 4) 

しかし、しないでください。

関連する問題