読者です 読者をやめる 読者になる 読者になる

simudaru's blog

Python, Rなどのメモを残していこうと思います。  よろしくお願いいたします。

【python】値とインデックスの両方を取得(enumerate)

enumerateの存在をすぐに忘れて、以下のようなコードを書いてしまう。

# coding: utf-8

x = [x ** 2 for x in range(100)]

# 各桁の総和が10の倍数になる要素と、そのインデックスを取得
def func_test1(x):
    index = 0
    for i in x:
        if not sum([int(k) for k in str(i)]) % 10:
            print index, i
        index += 1

func_test1(x)

enumerateを使えばシンプルになる

# 各桁の総和が10の倍数になる要素と、そのインデックスを取得
def func_test2(x):
    for index, i in enumerate(x):
        if not sum([int(k) for k in str(i)]) % 10:
            print index, i

func_test2(x)