暇つぶし2chat TECH - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト493:デフォルトの名無しさん 20/08/09 12:31:25.41 G1el0n+S.net file = ["one","two","three"] for i in len(file): print(file[i]) テスト用に作ってみましたが、これだとnot iterableになります iが繰り返しに使えないとはどういうことでしょうか インデックスは繰り返せるはずですが、、、 494:デフォルトの名無しさん 20/08/09 12:33:47.83 lPdKuM8h.net >>476 fileはリストだけど iは? エラーメッセージ読めよ 495:デフォルトの名無しさん 20/08/09 12:39:36.94 JXdOVZ/U.net >>476 リストをループすると、iにはイテレーターじゃなくて、リストの中身が入る file = glob.glob("fold/*") print(file) for i in file: print(i) 実行j結果 ['fold\\aaa', 'fold\\bbb'] fold\aaa fold\bbb だからfile[i]にすると、文字列を使ってリストにアクセスしようとするからエラーになる 496:デフォルトの名無しさん 20/08/09 12:46:15.61 JXdOVZ/U.net >>477 これはPythonの記法的な問題 for i in 3みたいな書き方は出来ない エラーメッセージでTypeError: 'int' object is not iterableって書いてある通り file[0]、file[1]、file[2]みたいにアクセスしたい場合は>>479の書き方にするか rangeを使う file = ["one","two","three"] for i in range(3): print(file[i]) 実行結果 one two three 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch