[解決済み] TypeError: 'dict_keys' オブジェクトはインデックス作成をサポートしていません。
2022-02-07 15:52:25
質問
def shuffle(self, x, random=None, int=int):
"""x, random=random.random -> shuffle list x in place; return None.
Optional arg random is a 0-argument function returning a random
float in [0.0, 1.0); by default, the standard random.random.
"""
randbelow = self._randbelow
for i in reversed(range(1, len(x))):
# pick an element in x[:i+1] with which to exchange x[i]
j = randbelow(i+1) if random is None else int(random() * (i+1))
x[i], x[j] = x[j], x[i]
を実行すると
shuffle
関数は、次のようなエラーを発生させます。
TypeError: 'dict_keys' object does not support indexing
解決方法は?
明らかに、あなたは
d.keys()
を、あなたの
shuffle
関数を使用します。 おそらく、これは python2.x で書かれたものでしょう (
d.keys()
はリストを返します)。 python3.xでは
d.keys()
が返されます。
dict_keys
オブジェクトのような挙動をします。
set
よりも
list
. そのため、インデックスされることはありません。
解決策は
list(d.keys())
(または単に
list(d)
から
shuffle
.
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python百行で韓服サークルの画像クロールを実現する
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み】Ellipsisオブジェクトは何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python カメの描画コマンドとその例
-
Pythonによるjieba分割ライブラリ
-
Python 入出力と高次代入の基礎知識
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] matplotlibのラインスタイルの一覧はありますか?
-
[解決済み] 辞書からヒストグラムをプロットする
-
[解決済み] 取得する TypeError: 'dict_values' object does not support indexing when using python 3.2.3 [duplicate] タイプエラー: 'dict_values' オブジェクトはインデックス作成をサポートしていません。