Wie verwende ich .setdefault mit dem Standardwert, der eine Liste ist, die ich in einer Funktion ausgefüllt habe? Beispiel:.setdefault mit Liste gefüllt mit Funktion
import random
foundwords = []
with open("text", "r") as file:
contents = file.read().replace('\n',' ')
words = contents.split(' ')
def findwords(word):
for i in range(len(words) - 1):
if words[i] == word:
if not words[i + 1] == '':
foundwords.append(words[i + 1])
wordsDict = {}
for i in range(len(words) - 1):
findwords(words[i])
wordsDict.setdefault(words[i], foundwords)
del foundwords[:]
def assemble():
start = words[random.randint(0, len(words))]
print(start.capitalize())
assemble()
Wenn ich wordsDict überprüfe, sind alle Listen leer. Allerdings weiß ich, dass die Listen gefüllt sind.
Was hat die 'assemble()' Funktion mit diesem Problem zu tun? – Barmar