1. ホーム
  2. python

[解決済み] pythonの配列を広げる方法 [重複]。

2022-02-06 01:28:14

質問

JSではこんなことができます。

const a = [1,2,3,4]
const b = [10, ...a]
console.log(b) // [10,1,2,3,4]

pythonで同じような方法はないのでしょうか?

どのように解決するのですか?

Alexanderがコメントで指摘しているように、リストの加算は連結です。

a = [1,2,3,4]
b = [10] + a  # N.B. that this is NOT `10 + a`
# [10, 1, 2, 3, 4]

を使用することもできます。 list.extend

a = [1,2,3,4]
b = [10]
b.extend(a)
# b is [10, 1, 2, 3, 4]

と新しいバージョンのPythonでは、splat()を(ab)使用することができます。 * ) 演算子を使用します。

b = [10, *a]
# [10, 1, 2, 3, 4]


あなたの選択は、既存のリストを変異させる(または変異させない)必要性を反映しているかもしれませんが。

a = [1,2,3,4]
b = [10]
DONTCHANGE = b

b = b + a  # (or b += a)
# DONTCHANGE stays [10]
# b is assigned to the new list [10, 1, 2, 3, 4]

b = [*b, *a]
# same as above

b.extend(a)
# DONTCHANGE is now [10, 1, 2, 3, 4]! Uh oh!
# b is too, of course...