5

n個の要素を持つ同じ数のリストを作成する最も効率的な方法は何ですか?

4

1 に答える 1

15
number = 1
elements = 1000

thelist = [number] * elements

>>> [1] * 10
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

注意: そのような変更可能なオブジェクト (特にリストのリスト) を複製しようとしないでください。

In [23]: a = [[0]] * 10

In [24]: a
Out[24]: [[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]

In [25]: a[0][0] = 1

In [26]: a
Out[26]: [[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]

numpy を使用している場合は、多次元リストnumpy.repeatが最善の策です。別々の軸ですべての形状の配列を繰り返すことができます。

于 2013-03-30T23:01:48.853 に答える