複数のリストを、各リストに表示される頻度の要素に従ってランク付けしたいと思います。例:
list1 = 1,2,3,4 list2
= 4,5,6,7
list3 = 4,1,8,9
結果=4,1,2,3,4,5,6,7,8(4は3回カウントされ、1は2回カウントされ、残りは1回カウントされます)
私は次のことを試しましたが、もっとインテリジェントなものと、任意の数のリストで実行できるものが必要です。
l = []
l.append([ 1, 2, 3, 4, 5])
l.append([ 1, 9, 3, 4, 5])
l.append([ 1, 10, 8, 4, 5])
l.append([ 1, 12, 13, 7, 5])
l.append([ 1, 14, 13, 13, 6])
x1 = set(l[0]) & set(l[1]) & set(l[2]) & set(l[3])
x2 = set(l[0]) & set(l[1]) & set(l[2]) & set(l[4])
x3 = set(l[0]) & set(l[1]) & set(l[3]) & set(l[4])
x4 = set(l[0]) & set(l[2]) & set(l[3]) & set(l[4])
x5 = set(l[1]) & set(l[2]) & set(l[3]) & set(l[4])
set1 = set(x1) | set(x2) | set(x3) | set(x4) | set(x5)
a1 = list(set(l[0]) & set(l[1]) & set(l[2]) & set(l[3]) & set(l[4]))
a2 = getDifference(list(set1),a1)
print a1
print a2
今ここに問題があります...私はa3、a4、a5で何度もそれを行うことができますが、それでは複雑すぎるので、これのための関数が必要です...しかし私は方法がわかりません...私の数学は行き詰まりました;)
解決済み:議論してくれてありがとう。初心者として、私はどういうわけかこのシステムが好きです:速い+有益です。あなたは私をすべて助けてくれました!Ty