2011-10-27 6 views
1

サイズNxNの空の正方行列を作成する関数を書いてみたいと思います。もっとPythonicな方法はありますか?

1:

s_matrix = [] 
create_empty_square_matrix(s_matrix, N) 

2: 私はこれを書くための2つの方法があります。

s_matrix = empty_square_matrix(N) 

(勿論、2つの二つの機能意志異なるビット機能create_empty_square_matrixは手順のようなものです - のみ関数empty_square_matrixは&を返す行列を返す

どちらの方法もPythonicですはより明確ですか?

名前のスタイルについていくつかご提案がありますか?私は確信していませんempty_square_matrix & create_empty_square_matrix

答えて

3

私はいつも第2の方法を好みます。

最初の問題は、書き込みたいオブジェクトをパラメータ(s_matrix)として渡すことであり、関数の呼び出し側は空のリストを渡さなければならないことを知る必要があります。呼び出し元がdictまたは空でないリストを渡すとどうなりますか?

ところで、行列計算を行う場合は、NumPyライブラリを参照してください。これは、標準的なPythonではない多くのことを示しています。

+0

Pythonicだけでなく、一般的にステートレスな副作用のないコードは、グローバルな状態に依存しないため、より良い方法です。 –

関連する問題