開発環境
- Mac OS X Snow Leopard (OS)
- WingIDE
- Script言語: Python
『初めてのコンピュータサイエンス』(Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-463-7)の9章(集合と辞書), 9.5(練習問題), 14(c)を解いてみる。
14.(c)
疎ベクトルの長さを返すsparse_lenという関数を書くように指示されたら、関数を書く前に尋ねなければならないことは、辞書のキーの数を返すのか、それとも辞書にする前のリストの長さ(辞書ではリストの要素の0は省略したけど、それを省略する前の長さ。ただし、以降の値が全て0になる手前まで)を返すのかということ。
辞書のキーの数を求める関数の場合。
コード
def sparse_len(d): return len(d.keys())
入出力結果(Python Shell)
0も含めたリストの長さ(以降の値が全て0になる手前まで)を求める関数の場合
コード
def sparse_len(d): return max(d.keys())+1
入出力結果(Python Shell)
0 コメント:
コメントを投稿