Поэтому мне нужно выполнить поиск, если элемент находится в первом столбце списка списков, и если это так, напечатайте элемент. Я должен делать это с помощью функций.Поиск в списке списков и функций
CD = input("Enter name of CD database: ")
def createDatabase(CD): #opens and creates list
aList = []
file = open(CD)
for line in file:
line = line.rstrip().split(",") #strip \n and split at ,
aList.append(line) #add lines into formerly empty aList
for i in range(len(aList)):
aList[i][3] = float(aList[i][3]) #override line for price to be float
return aList
aList = createDatabase(CD)
def PrintList(aList):
for line in aList:
album = str(line[0])
artist = str(line[1])
genre = str(line[2])
price = str(line[3])
print("Album: " + album + " Artist: " + artist + " Genre: " + genre + " Price: $" + price)
return
def FindByTitle(aList):
target = input("Enter Title to Search: ")
for item in aList:
if target in aList:
print(target)
else:
print ("Title not found")
return aList
PrintList(FindByTitle(aList))
Выход я получаю от этого
Enter name of CD database: CD.txt
Enter Title to Search: Sempiternal
Title not found
Title not found
Title not found
Title not found
Album: Sempiternal Artist: Bring Me The Horizon Genre: Metalcore Price: $14.5
Album: Badlands Artist: Halsey Genre: Indie Pop Price: $19.95
Album: Wildlife Artist: La Dispute Genre: Post Hardcore Price: $9.6
Album: Move Along Artist: The All American Rejects Genre: Punk Rock Price: $10.2
, и я не совсем уверен, как это сделать или исправить мою функцию поиска. Любая помощь будет большой благодарностью.
Добавьте некоторые выборочные данные и вход (замените 'input' выражения со строками) на ваш вопрос таким образом, мы можем запустить код. –
'if target in aList:' неверно. 'if target в элементе:' – ssm