2017-09-26 2 views
0

Ich habe ein Problem, das besagt: Schreibe eine Funktion, die als Argument eine Liste und einen String nimmt, und gibt einen Booleschen Wert zurück, basierend darauf, ob alle Buchstaben in dem String irgendwo erscheinen In der Liste. Hier ist was ich bisher habe.Einen Buchstaben in einer Liste finden

+0

wird dies bei dem ersten Spiel true zurück, wenn nicht alle Buchstaben in der Liste enthalten sind. – MrE

+0

Bitte geben Sie Ihre Frage an – pylang

Antwort

0

Sie geben True zurück, wenn ein Buchstabe in myString übereinstimmt, nicht alle Buchstaben in myString. Sie könnten die andere Art und Weise tun, um, wenn ein beliebiger Buchstabe nicht in myString übereinstimmen, return false

def findLetters(myList, myString): 
    for letter in myString: 
     if letter not in myList: 
      return False 
    return True 

OR verwenden eingebaute Funktion all

def findLetters(myList, myString): 
    return all(letter in myList for letter in myString) 
0

Sie alle Buchstaben zuordnen kann eine Lambda mit der eine Liste erstellt von booleschen Werten für alle Buchstaben in my_string.

Die Funktion all gibt true zurück, wenn alle Werte in der l Liste True sind.

def find_letters(my_list, my_string): 
    l = map(lambda x: x in my_list, my_string) 
    return all(l) 

print(find_letters(['a', 'b', 'c'], 'cab')) 
1

Hier ist eine grundlegende Lösung, die näher ist zu dem, was Sie begonnen haben:

def findLetters(myList, myString): 
    found_all = False 
    for s in myString:  # check each letter in the string 
     if s in myList:  # see if it is in the list 
      found_all = True # keep going if found 
     else: 
      found_all = False # otherwise set `found` to False 
      break    # and break out of the loop 

    return found_all   # return the result 

result = findLetters(['a', 'l', 'i', 's', 't'], 'mlist') 

# 'm' is not in the list 
print result # False 

# all letters in the string are in the list; 
# ignores any extra characters in the list that are not in the string 
result = findLetters(['a', 'l', 'i', 's', 't', 'p'], 'alist') 

print result # True 
Verwandte Themen