Вы получаете ошибку unhashable type
во втором случае, поскольку ваша функция предполагает, что переданный ей параметр равен country_name
, а не list
из country_name
.
Когда вы Сделайте это [country_to_continent(country)for country in countries]
, вы передаете каждый элемент countries
один за другим в вашу функцию.
Однако, когда вы говорите
country_name = list(df['country'])
country_to_continent(country_name)
Вы передаете весь список в одном go к вашей функции, что приводит к этой ошибке.