[解決済み】TypeError: 'dict_keys' オブジェクトはインデックスをサポートしていません。
2022-01-22 13:02:18
質問
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
.
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
Python関数の高度な応用を解説
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み] matplotlibのラインスタイルの一覧はありますか?
-
[解決済み] 辞書からヒストグラムをプロットする
-
[解決済み] 取得する TypeError: 'dict_values' object does not support indexing when using python 3.2.3 [duplicate] タイプエラー: 'dict_values' オブジェクトはインデックス作成をサポートしていません。