次のように私は2つのリストを持っている:重複する要素を見つけてリストから削除するにはどうすればよいですか?
name =[A, B , C , D , E , F ]
cls=[1, 2 , 3 , 2 , 4 , 1 ]
score=[0.1, 0.2 , 0.5 , 0.3 , 1 , 0.8 ]
Aがクラス1とそのスコア0.1に属している、ようにBがクラス2に属し、そのスコアが0.2であり、そして意味します。
オブジェクトが同じクラスを持つメソッドを探していて、そのスコアがクラス内の別のオブジェクト(cls
)よりも小さい場合、そのオブジェクトを削除します。だから、私の予想結果は
name =[C , D , E , F ]
cls =[3 , 2 , 4 , 1 ]
score=[0.5 ,0.3 , 1 , 0.8 ]
name
、cls
とscore
であるリスト型です。どのように私はそれをPythonで実装できますか?おかげ
は、これは、Pythonの予約キーワードですので、あなたが変数名としてclass
を使用することはできません、私が何をしたか
name_clean=[]
cls_clean=[]
score_clean=[]
for i in range(len(cls)-1):
cls_i=cls[i]
max_index = -1
for j in range(i+1,len(cls)):
cls_j = cls[j]
if (cls_i==cls_j):
if (score[i]<=score[j]):
max_index=j
else:
max_index=i
if (max_index>=0):
name_clean.append(name[max_index])
cls_clean.append(cls[max_index])
score_clean.append(score[max_index])
else:
name_clean.append(name[i])
cls_clean.append(cls[i])
score_clean.append(score[i])
こんにちは、これはコード補完サービスではありません。質問をする方法を読んでください:[問題を説明して**それを解決するためにこれまでに何がなされているか**】(https://stackoverflow.com/help/on-topic) – danihp
私はこの質問を閉じるために投票していますOPは他の人に自分の仕事を依頼しているから話題にはならない。 – danihp
2つのforループを使って試しましたが、成功しませんでした。したがって、私はここで尋ねます。なぜそれは近いですか? – user8264