Преобразование фаренгейта в градусы Цельсия продолжать получать список 0? - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь преобразовать список Цельсия в градусы Фаренгейта, используя карту, но я получаю пустой список из 0

1002 *

Ответы [ 3 ]

2 голосов
/ 17 марта 2020

Python list не поддерживает подобные операции. Обратите внимание, что в следующем простом примере вы получите тот же результат:

l = [1,2,3]
l - 3

Несколько решений:

  • Итерации элементов списка и вызов функции для каждого из них:

    result=[Celsius(item) for item in flist]
    
  • Использование функции map:

    result = map(Celsius, flist)
    
  • При использовании массивов numpy тогда поддерживает такие операции:

    flist = np.array(flist)
    Celsius(flist)
    
0 голосов
/ 17 марта 2020

Думаю, вам нужно это:

result = map(Celsius, flist) 
print(list(result)) 

ref: https://www.geeksforgeeks.org/python-map-function/

0 голосов
/ 17 марта 2020

Проблема в том, что вы пытаетесь создать список элементов диапазона.

[range_element] -> вот так

вы должны использовать - -> список (range_element)

def Celsius(x):
  return [((xs - 32) * (5 / 9)) for xs in x]

flist=list(range(40,100,10))
print(list(Celsius(flist)))

вывод:

[4.444444444444445, 10.0, 15.555555555555557, 21.11111111111111, 26.666666666666668, 32.22222222222222]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...