リスト内で重複したものに名前が被らないように連番をつけたいです。
以下のコードを使用して、配列の1番目から総当たりで検証して重複の配列を取得しました。
ここからさらに二重配列から重複したものを消したいです。
dict.fromkeysを使用してから配列に戻すということもやってみましたが、配列の重複には使えませんでした。ほかに方法を知っている方がいたらお聞きしたいです。
python
1list = ["blue","red","yellow","blue","blue","red","yellow","green"] 2last=[] 3for z in list: 4 indexes = [i for i, x in enumerate(list) if x == z] 5 6 #print(z) 7 if list.count(z) >1: 8 last.append(indexes) 9 10 11print(last) 12#last出力 13#[[0, 3, 4], [1, 5], [2, 6], [0, 3, 4], [0, 3, 4], [1, 5], [2, 6]]
最終的にlist = ["blue1","red1","yellow1","blue2","blue3","red2","yellow2","green"]
回答3件
あなたの回答
tips
プレビュー