《課題1》定義域の限定
《課題1》定義域の限定:指定したシーケンスと同じ「キー」を持つ、新たな辞書が得られるように、次の関数を定義してください。
>>> ex
{'A': 1, 'C': 3, 'B': 2}
>>> domTo(ex, "ABD")
{'A': 1, 'B': 2}
指定した文字列 "ABD" の各要素と同じキーを持つ、新たな辞書が得られます。同じキー 'D' が存在しないなら、それを無視します。
def domTo(self, s):□
...
《課題2》値域の限定
《課題2》値域の限定:指定したシーケンスと同じ「値」を持つ、新たな辞書が得られるように、次の関数を定義してください。
>>> ex
{'A': 1, 'C': 3, 'B': 2}
>>> rngTo(ex, [1,2,0])
{'A': 1, 'B': 2}
指定した xrange(3) の各要素と同じ値を持つ、新たな辞書が得られます。同じ値 0 が存在しないなら、それを無視します。
def rngTo(self, s):□
...
《課題3》
《課題3》メソッド dict.fromkeys を参考に、次の関数を定義してください。
>>> ex
{'A': 1, 'C': 3, 'B': 2}
>>> fromvalues(ex, [1,3], 0)
{'A': 0, 'C': 0}
>>> fromvalues(ex, [1,3])
{'A': None, 'C': None}
第2引数に指定したリストの各要素と同じ「値」を持つ要素対だけを対象とする、新たな辞書が得られます。第3引数を指定すると、それが値の規定値になります。第3引数を省略すると、すべての値は None になります。ただし、同じ「値」を持たない要素対は、それを無視します。
def fromvalues(self, values, default=None):□
...
3/3
読者への課題:fromkeys
さらにその理解を深めるために、読者のみなさんへの課題を提供します。