У меня есть массив с числами: barn = [1, 2, 3, 4, 10, 20, 30, 40]
Мне нужно чтобы, когда я выводил элементы 10, 20, 30, 40 - выводилось "лошадь", "куница", "рыба", "заяц".
Например я пишу: print(barn[1]+" - "+barn[5])
Должен быть вывод: 2 - куница
Придумал, что можно сделать словарь со срезом списка от "10" до конца и там присвоить значения, а потом по ключу выводить, но мб есть способ полегче, заранее благодарен!
P.S. про конкатенацию в выводе знаю, просто не хочу нагружать пример кода :)
replacements = { 10: "лошадь", 20: "куница", 30: "рыба", 40: "заяц" }
barn = [1, 2, 3, 4, 10, 20, 30, 40]
for b in barn:
# если ключ в словаре - взять значение словаря, иначе оставить ключ как есть
print(replacements.get(b, b))
А вообще у тебя в одном списке разноплановые значения. Это плохо. Подумай, нельзя ли сделать другую структуру данных.
Вот я также и решил эту проблему. А разноплановые значения нужны, потому что считаются все по разному, это я еще сократил список, по факту там целая куча еще разных значений. Вот поэтому я и думал как можно заменить именно при выводе, но чтоб обсчеты проходили в числах.
Идеально было бы если б можно было в начале кода какую-то функцию написать, чтоб если я выводил 10 из списка, то оно автоматом заменялось на "лошадь". Но пока не знаю как такое написать...