Возможно, было бы неплохо прочитать основы языка немного шире, прежде чем спрашивать здесь: вы можете преобразовать любой итератор, например map
, в список, используя list
. Это решит вашу начальную проблему.
Вторая проблема возникает из-за того, что вы не учитываете область действия (также см. this ).
Если вы хотите сделать то, что я понимаю (то есть получить массив bool
, указывающий, где temperature
самое большее 22), non_wear_function
вам не поможет: он либо вернет [1]
или None
. Вместо этого вы можете использовать структуру, как показано ниже:
def non_wear_function(t):
return (t <= 22)
print(list(map(non_wear_function, temperature)))
Хотя в этом случае лучше использовать лямбда-функции или понимания:
print([(t <= 22) for t in temperature])
print(list(map(lambda t: (t <= 22), temperature)))
EDIT
Если вы хотите, вы также можете конвертировать bool
в int
, используя функцию int
, например ::
print([int(t <= 22) for t in temperature])