2011年7月12日火曜日

開発環境

  • 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(練習問題), 7を解いてみる。

 

7.

練習問題1の解答で書いた関数を、集合そのものではなく集合の要素の個数を返すように変更して利用。lenはリストだけではなく集合でも使えるみたい。

コード

def count_duplicates(d):
    val_list=d.values()
    list_set=set()
    while len(val_list)!=0:
        i=val_list.pop()
        for j in range(len(val_list)):
            if(i==val_list[j]):
                list_set.add(val_list[j])
                break
    return len(list_set)

以下で関数の引数に渡した辞書は値1,3,5が複数回現れるので、3が返れば成功!

入出力結果(Python Shell)

0 コメント:

コメントを投稿