Die Funktion scoreList (Rack) nimmt eine Liste von Buchstaben auf. Du erhältst auch eine globale Variable: ["a", "am", "at", "apple", "bat", "bar", "babble", "kann", "foo", "spam", "spammy", "zzyzva"].Alle Kombinationen einer Liste finden
Verwenden Sie eine Liste von Buchstaben, um alle möglichen Wörter zu finden, die mit den Buchstaben im Wörterbuch erstellt werden können. Suchen Sie für jedes Wort, das erstellt werden kann, mithilfe von scrabbleScore auch die Bewertung dieses Worts.
scrabbleScore =
[ ["a", 1], ["b", 3], ["c", 3], ["d", 2], ["e", 1],
["f", 4], ["g", 2], ["h", 4], ["i", 1], ["j", 8],
["k", 5], ["l", 1], ["m", 3], ["n", 1], ["o", 1], ["p", 3],
["q", 10], ["r", 1], ["s", 1], ["t", 1], ["u", 1], ["v", 4],
["w", 4], ["x", 8], ["y", 4], ["z", 10] ]
I Ausdrücke aus der Liste Comprehensions verwenden (Karte, Filter, reduzieren, etc.), wenn Anweisungen und für Schleifen, sondern nur, wenn sie im Zusammenhang mit einer Liste ist Verständnis.
Beispiel:
>>> scoreList(["a", "s", "m", "t", "p"])
[['a', 1], ['am', 4], ['at', 2], ['spam', 8]]
>>> scoreList(["a", "s", "m", "o", "f", "o"])
[['a', 1], ['am', 4], ['foo', 6]]
Die Reihenfolge, in der sie dargestellt werden, keine Rolle spielt. Es muss auch eine Liste bleiben und kein Dic. Ich würde gerne etwas Hilfe bei diesem Problem oder wenn Sie mir ein besseres Verständnis für die Verwendung von Karte oder Filter in diesem Problem geben könnten.
My-Code so weit:
def scoreList(Rack):
result = [d for d in Dictionary if all(l in Rack for l in d)]
return result
Meine Leistung:
>>> scoreList(["a", "s", "m", "t", "p"])
['a', 'am', 'at', 'spam']
Wie Sie ich habe herausgefunden, sehen kann, wie die Worte ausgegeben, aber nicht die Partitur. Ich habe auch nicht herausgefunden, wie man die Verwendung von Karten, Filtern oder anderen Listenkompressen implementiert.
Warum stellen Sie die gleiche Frage immer wieder nach dem Löschen des vorherigen Beitrags? Du hast es vor ein paar Minuten gepostet und wenn ich gestern nicht falsch liege. –
Sorry, ich hatte etwas recherchiert und versucht, einen anderen Weg zu finden, aber das ist der einzige Weg, wie ich es schaffen könnte. –
Sie sollten den Beitrag nicht löschen, wenn Sie die Antwort erhalten, denn soweit ich mich in Ihrem gestrigen Beitrag erinnere, haben 3-4 Benutzer Ihre Anfrage (einschließlich mir) gelöst und anstatt sie für ihre Antwort und Zeit anzuerkennen, haben Sie den Beitrag gelöscht das ist überhaupt nicht fair. Denkst du, dass ich wieder Zeit verschwenden werde, um auf dein Problem zu reagieren? Es wird auch niemand anders sein, wenn sie sich an dich erinnern. –