Python.use(better) #組み込み型 -- dict.__iter__

記事一覧 Python.use(better)《Python3.1》

組み込み型 -- dict.__iter__

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

ツールを起動する

余録を参考にして、ツールを起動します。

〔右側〕リスト項目[__iter__]を選択すると、

  • 〔上側〕メソッドの仕様を確認できます。
  • 〔左側〕メソッドの動作を確認できます。
■ 仕様を確認する
x.__iter__() <==> iter(x)

》こちらに移動中です《
リスト L の中から、オフセット位置 index にある要素を取り出すとともに、その要素がリターン値になります。

  • index を省略すると、末尾の要素を取り出します。
  • 空リストだったり、index が範囲外だと、例外 IndexError を生成します。
■ 動作を確認する
>>> m = dict((e,ord(e)) for e in "ABC"); m
{'A': 65, 'C': 67, 'B': 66}
>>> list(m)
['A', 'C', 'B']
    
[65, 67, 66] >>> set(m) {'A', 'C', 'B'}
{65, 66, 67} >>> dict(m) {'A': 65, 'C': 67, 'B': 66}
{65: 'A', 66: 'B', 67: 'C'} >>> reduce(lambda s,e: s+m[e], m, 0) 198 >>> sum(m[e] for e in m) 198 >>> reduce(lambda s,e: s+","+e.lower(), m, "") ',a,c,b' >>> ",".join(e.lower() for e in m) 'a,c,b' >>> list(map(ord, m)) [65, 67, 66] >>> list(map(lambda e: m[e], m)) [65, 67, 66] >>> list(filter(lambda e: e%2, m.values())) [65, 67] >>> [k for k,v in m.items() if v%2] ['A', 'C'] >>> {i:e for i,e in enumerate(m)} {0: 'A', 1: 'C', 2: 'B'} >>> [s+t for s,t in zip(m,list("123"))] ['A1', 'C2', 'B3'] >>> # -------------------------------------------------- __iter__ >>> # -------------------------------------------------- __iter__ >>> list(filter(lambda e: e%2, s.values())) [65, 67] >>> [k for k,v in s.items() if v%2] ['A', 'C'] >>> {i:e for i,e in enumerate(s)} {0: 'A', 1: 'C', 2: 'B'} >>> [s+t for s,t in zip(s,list("123"))] ['A1', 'C2', 'B3']
  • リスト s の末尾から要素を取り出すとともに、その要素 'C' がリターン値になります。
  • 空リスト s から要素を取り出そうとすると、例外 IndexError を生成します。
》こちらに移動中です《TOP

関連記事

Last updated♪2009/10/15