3
各項目が特定の値(ここでは0)に設定されているリストを取得したいと思います。私はこのコードを以下のコードで解決しましたが、それはとても面倒です。確かに良い方法がありますか?リストをPythonの特定の値に初期化する方法
maxWidths = map(lambda x: 0, range(0, maxCols))
各項目が特定の値(ここでは0)に設定されているリストを取得したいと思います。私はこのコードを以下のコードで解決しましたが、それはとても面倒です。確かに良い方法がありますか?リストをPythonの特定の値に初期化する方法
maxWidths = map(lambda x: 0, range(0, maxCols))
1要素リストに必要な長さを掛けます。上記で
maxWidths = [0] * maxCols
、リストの全ての要素が同じオブジェクトになります。 変更可能な値(ディクテーションやリストなど)のリストを作成しているときに、別のものにする必要がある場合は、質問で行ったようにmap
を使用するか、同等のリストの理解を書いてください:
[[] for dummy in range(100)]
私は**知っていた** "パイソン"の方法があるだろう!ありがとう。 – nickf
@nickf結果リストには同じオブジェクトへの 'maxCols'参照があります。変更可能なオブジェクトでは、これはまったく異なる(ほとんど嫌悪されない)セマンティクスにつながります。 – delnan
さらに明確にするために、 '[[]] * maxCols'リストは実際には同じリストへのmaxCols" references "を含んでいます。 –