у меня есть 2 вида списков: имена и оценки, и я стараюсь, чтобы объединить результаты так, что все оценки объединены в существующий списоксписок индексов должны быть целыми, не ул
я получаю «перечень индексы должны быть целыми, не StR» ошибка
name1= [jim, bob, john, smith]
score1= [4,7,3,11]
name2= [bob, cahterine, jim, will, lucy]
score2= [6,12,7,1,4]
Я хочу, чтобы результат:
name1 = [jim, bob, john, smith, catherine, will, lucy]
score2 = [11, 13 ,3 ,11 ,12 ,1 ,4]
def merge(name1,score1, name2,score2):
for i in name2:
if i in name1:
indexed= name1.index(i)
score2[i] =score1[int(indexed)]+score2[i]
if i not in name1:
name1.append(i)
score1.append(score2[(name1.index(i))])
Почему вы не объединить их просто: 'name1 = name1 + name2' и' score2 = score1 + score2'? –
icanc: OP хочет, чтобы результаты были объединены по имени. То есть в результирующем списке должна быть только одна запись для каждого имени и оценка, соответствующая сумме баллов, связанных с этим именем во входных списках. – Wilduck
@ Wilduck Ах, спасибо за разъяснение. –