初歩的な質問ですみません。
前提・実現したいこと
Pythonでタプルのリストを作り、whileループを回して、各タプルの頭に順番に数字を割り振るプログラムを作成しています。
タプルのリストは、本来はDBからfetchallしたものです。
また、blockもプログラム内で指定していますが、本来は外部入力です。
発生している問題・エラーメッセージ
List index out of range となってしまいます。
list1[r]=(i,) + list1[r] IndexError: list index out of range
該当のソースコード
python
from operator import itemgetter list1 = [(1,"aaa"), (2,"bbb"), (3,"ccc"), (4,"ddd"), (5,"eee"), (6,"fff"), (7,"ggg"), (8,"hhh"), (9,"iii"), (10,"jjj")] brock = 3 r=0 i=1 while r in range(len(list1)) : while i < brock: list1[r]=(i,) + list1[r] print(list1[r]) i=i+1 r=r+1 else: list1[r]=(i,) + list1[r] print(list1[r]) i=0 r=r+1 else: print("end") list2=sorted(list1,key=itemgetter(0)) print(list2)
試したこと
一個目のwhileの後の不等号やr,iの初期値等いろいろ変えてみましたが駄目でした。
また、len(list)はintで返ってくると聞き、range()に入れてみましたがこれもダメでした。
補足情報(FW/ツールのバージョンなど)
Python3です
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。