Sagen Sie bitte eine Liste haben, zum Beispiel:Wie vergleiche ich zwei Listen und um 1 basierend auf der Anzahl der Spiele
first_list = ['a', 'b', 'c']
Und Sie haben die folgende Liste:
second_list = ['a', 'a b c', 'abc zyx', 'ab cc ac']
Wie würde Sie erstellen eine Funktion, die einfach die zweite Liste neu anordnet, basierend auf der Gesamtzahl, wie oft ein Element aus der gesamten ersten Liste mit einem Teil einer einzelnen Zeichenfolge aus der zweiten Liste übereinstimmt?
Weitere Klarheit:
- in der zweiten Liste der 'a' string enthielte 1 Spiel
- die 'abc' string 3 Spiele
- das zweite Beispiel enthalten würde, Liste würde im wesentlichen in umgekehrter Reihenfolge am Ende, wenn die Funktion beendet hat
Mein Versuch:
first_list = ['a', 'b', 'c']
second_list = ['a', 'a b c', 'abc zyx', 'ab cc ac']
print second_list
i = 0
for keyword in first_list:
matches = 0
for s in second_list:
matches += s.count(keyword)
if matches > second_list[0].count(keyword):
popped = second_list.pop(i)
second_list.insert(0, popped)
print second_list
Könnten Sie bitte mit uns Ihren eigenen Versuch teilen? – QuakeCore
Ich habe meinen Versuch hinzugefügt @QuakeCore – Jarrod