0

リストのリストで動作するはずの関数を書いています。この例を使用すると:

def mode(year):
    monthAmount = len(year)

    for month in year:
        (month)Index = len(month)

これを実行したいのは、が [1 月、2 月、3 月] であるとします。結果は次のようになります。JanuaryIndex = *、FebruaryIndex = *、MarchIndex = * など。いくつかの異なる月で。これを行う簡単な方法はありますか?ありがとう。

4

1 に答える 1

3

ここで何を探しているのか完全にはわかりません。

実際の値と一緒にループしているシーケンスへのインデックスを取得するには、次のenumerate()関数を使用します。

for index, month in enumerate(year):
    print index, month

グローバル変数を動的に設定する必要はありません。代わりに辞書を使用してください。

monthindices = {}

for month in year:
    monthindices[month] = len(month)

マッピングにアクセスすることにより、グローバル変数を動的に作成できますが、これを行うのは一般的に悪い考えです。頑固な人は次のようにします。globals()

gl = globals()
for month in year:
    gl['{}Index'.format(month)] = len(month)
于 2013-02-24T12:27:52.743 に答える