Я думаю, что это то, что вы хотите сделать:
def f(my_list):
return dict((x, "like") for x in my_list)
Пример:
>>> f([1, 2, 3])
{1: 'like', 2: 'like', 3: 'like'}
В Python 2.7 или выше эта функция также может быть записана как
def f(my_list):
return {x: "like" for x in my_list}
Относительно вашего исходного кода: нет такого синтаксиса, как def f([a, b, c])
. Я могу только догадываться, что это должно означать, в списке параметров нет квадратных скобок. Если вы хотите передать список, используйте один параметр.
В обновленной версии кода другие ошибки были удалены. Инициализация d
все еще странная, так как было бы достаточно использовать пустой словарь:
d = {}