Выражение списка кортежей, касающихся перестановки в градусах от Цельсия до Фаренгейта в заданном массиве градусов в Python - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь написать простое выражение списка, чтобы напечатать список кортежей (C, F), где C - это степень температуры в градусах Цельсия от -20 до 100 с шагом 5, а F - соответствующая температура в градусах Фаренгейта.Это кажется довольно простым, хотя я хотел бы написать код в виде одной строки.Может быть, у кого-то и есть идея, это не должно иметь большого значения.Спасибо

listExpression  = [ (C,F) for c in range(-20, 100, 5)and F=32+9/5 *C ]

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Использование lambda:

list(map(lambda x: (x, x*1.8+32) , range(-20, 100, 5))) 
0 голосов
/ 08 марта 2019

Переместить вычисление на второй элемент кортежа в списке компов, например:

listExpression = [ (C, C * 1.8 + 32) for C in range(-20, 100, 5)]

Единственное имя, которое вы можете иметь в понимании списка, это C, которое получается из результата того, что range(-20, 100, 5) дает при повторении, так что вы вычисляете F, а просто вычисляете C непосредственно для 2-го элемент кортежа.

...