検索ガイド -Search Guide-

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

Tré Thộn を食べたことがありますか?
ベトナム・ビンズオン滞在中の方は是非注文して食べてみて!
絶対に美味しいです!
ホーチミン市内へも配達可能です。お問い合わせください。

Have you ever had "Tré Thộn" before?
If you're living at Bình Dương in Vietnam, you "must" try to order and eat it.
I'm sure you're very surprised how delicious it is!!
If you're in Hồ Chí Minh, you have a chance to get it too. Please call!!
>>

【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) を理解しよう - デコレータ、オリジナル関数からの引数の渡し方、受け取り方