2011年7月21日木曜日

開発環境

  • 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 コメント:

コメントを投稿