Also zuerst zip
Vor- und Nachnamen, dann machen Sie dann str
mit ' '
als Trennzeichen. Und dann mit collections.Counter
zählen, wie oft so genannte Vokal Zeichen auftreten, sum
sie auf, und fügen len
des ganzen Namens. Und das wäre dict
Objekt, dann kannst du damit machen was du willst.
from collections import Counter
a = ["John", "Kate", "Oli"]
b = ["Green", "Fletcher", "Nelson"]
vowel = ["a", "e", "i", "o", "u"]
output = {}
for item in [' '.join(i) for i in zip(a,b)]:
output[item] = sum(Counter(item)[x] for x in vowel) + len(item)
output
Ausgang:
{'John Green': 13, 'Kate Fletcher': 17, 'Oli Nelson': 13}
UPDATE
Wenn Sie alle möglichen Variationen des Vornamens und Nachname müssen Sie tun können, dass mit itertools.product
from itertools import product
from collections import Counter
a = ["John", "Kate", "Oli"]
b = ["Green", "Fletcher", "Nelson"]
vowel = ["a", "e", "i", "o", "u"]
output = {}
for item in [' '.join(i) for i in product(a,b)]:
output[item] = sum(Counter(item)[x] for x in vowel) + len(item)
output
Ausgang:
{'John Fletcher': 16,
'John Green': 13,
'John Nelson': 14,
'Kate Fletcher': 17,
'Kate Green': 14,
'Kate Nelson': 15,
'Oli Fletcher': 15,
'Oli Green': 12,
'Oli Nelson': 13}
Was ist die gewünschte Ausgabe hier? –
@vishes_shell Vollständiger Name: John Green Score: 13 Vollständiger Name: John Fletcher Score: 16 Vollständiger Name: John Nelson Score: 14 Vollständiger Name: Kate Green Score: 14 Vollständiger Name: Kate Fletcher Score: 17 Vollständiger Name : Kate Nelson Score: 15 Voller Name: Oli Green Punktzahl: 13 Voller Name: Oli Fletcher Punktzahl: 16 Vollständiger Name: Oli Nelson Score: 14 –