私は語彙を増やすために簡単なフラッシュカードプログラムを作っていたので、辞書をランダム化する必要がありました。このサイトで多くの役立つ答えを見つけました。多くはこのサイトから離れていて、シャッフルがオプションであることに気づきました(random.choiceがあったことを知っています。しかし、私はシャッフルで行きました)しかし、私が把握していないことがあります。このように見えます:
import random
vocab_dict = {'word1':'def1',
'word2':'def2',
'etc.':'etc.'}
vocab_dict_rand = vocab_dict.keys()
random.shuffle(vocab_rand) **#<--This is where problem occurs**
for key in vocab_rand:
print word
input ""
print definition
input ""
input exit
そのため、プログラムがクラッシュし、random.shuffle(vocab_rand)..でその行を指し示します。
私はこれをシェルで取得します
File "C:\Python31\lib\random.py", line 270, in shuffle
x[i], x[j] = x[j], x[i]
TypeError: 'dict_keys' object does not support indexing
どんな助けでもいただければ幸いです。