Так как это не упоминается, простой способ понимания списка:
import numpy as np
import random
celsius = np.array(random.sample(range(-10, 40), 35))
def g(i):
return float(i * 1.8 + 32)
np.array([(i, g(i)) for i in celsius])
array([[ 27. , 80.6],
[ 19. , 66.2],
[ 34. , 93.2],
[ 39. , 102.2],
[ 38. , 100.4],
[ 9. , 48.2],
[ 25. , 77. ],
[ 14. , 57.2],
[ 12. , 53.6],
[ 3. , 37.4],
[ -8. , 17.6],
[ 16. , 60.8],
[ 17. , 62.6],
[ 32. , 89.6],
[ 35. , 95. ],
[ 8. , 46.4],
[ 33. , 91.4],
[ 10. , 50. ],
[ 15. , 59. ],
[ 18. , 64.4],
[ 36. , 96.8],
[ 26. , 78.8],
[ -6. , 21.2],
[ 29. , 84.2],
[ 5. , 41. ],
[ -1. , 30.2],
[ 6. , 42.8],
[ -5. , 23. ],
[ 30. , 86. ],
[-10. , 14. ],
[ -2. , 28.4],
[ 31. , 87.8],
[ -3. , 26.6],
[ 7. , 44.6],
[ 2. , 35.6]])