検索ガイド -Search Guide-

単語と単語を空白で区切ることで AND 検索になります。
例: python デコレータ ('python' と 'デコレータ' 両方を含む記事を検索します)
単語の前に '-' を付けることで NOT 検索になります。
例: python -デコレータ ('python' は含むが 'デコレータ' は含まない記事を検索します)
" (ダブルクオート) で語句を囲むことで 完全一致検索になります。
例: "python data" 実装 ('python data' と '実装' 両方を含む記事を検索します。'python data 実装' の検索とは異なります。)
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
>>

【Python 雑談・雑学】 ループ処理でインデックス番号が使いたいのなら enumerate() を使えば? 投稿一覧へ戻る

Published 2020年5月26日21:45 by mootaro23

SUPPORT UKRAINE

- Your indifference to the act of cruelty can thrive rogue nations like Russia -

次のような処理をしています。

top_friends = ['Nana', 'Saki', 'Yuka']

print(f'My top 1 friend is {top_friends[0]}.')
print(f'My top 2 friend is {top_friends[1]}.')
print(f'My top 3 friend is {top_friends[2]}.')



こんなに print() 文を羅列するのではなくて for ループを使いますよね。


for i in range(3):
print(f'My top {i + 1} friend is {top_friends[i]}.')



この for 文ではインデックス番号を利用してリストから値を取り出しています。


このような場合は、わざわざ range() 等を使用してインデックス番号を取得するよりも、enumerate() を利用したほうがスマートです。


for i, friend in enumerate(top_friends):
print(f'My top {i + 1} friend is {friend}.')



ちなみに enumerate() は generator を返します。
ですから、next() を利用して値を1つずつ取り出すことができます。


friend_g = enumerate(top_friends)
print(next(friend_g))



next(friend_g) で取り出される値は (index, value) からなるタプルです。
ですから当然アンパックも利用できます。

index, friend = next(friend_g)
print(index)
print(friend)
この記事に興味のある方は次の記事にも関心を持っているようです...
- People who read this article may also be interested in following articles ... -
【 Effective Python, 2nd Edition 】アンパックのちょっとした使い方 - 1: 一時変数を使わずにスワップする、2: インデックス番号を用いないでネストしている iterable の要素を取り出す -
【Python 雑談・雑学 + coding challenge】シーケンス ( sequence ) における インデックス ( index ) を使った要素 1 つの取り出しと、スライス ( slice ) を利用した場合の取り出しの違いをちゃんと理解していますか?
【Python 雑談・雑学 + coding challenge】文字列中の数字を抜き出して桁区切りをつけよう! 正規表現 (regular expression ) を使うと「えっ!?」っていうくらい簡単ですょ。lookahead と negative lookahead を使います。
【Python 雑談・雑学 + coding challenge】iterator protocol の実装 --- __iter__ 特殊関数は何を返すべき? イテレータオブジェクト ( iterator object ) なら何でも、そう、generator expression でもOKです!
【Python 雑談・雑学】 Python におけるマルチスレッド実行 (multi threading) について - マルチスレッドで実行すれば何でもかんでも速くなる、と思っていませんか? -
【Python 雑談・雑学 + coding challenge】comprehension は確かに Pythonic ですけど、map 組み込み関数と使い分けることも必要ですね!
【Python 雑談・雑学】 デコレータ (decorators) を理解しよう - デコレータ、オリジナル関数からの引数の渡し方、受け取り方