Понимание списка с динамическим изменением значения

#python #list #list-comprehension #generator

Вопрос:

У меня есть 2 переменные. Они остаются в обратном соединении и образуют список с 2 значениями, сумма которых равна 1. Пример показан ниже:

 [0.1, 0.9], [0.2, 0.8], ..., [0.9, 0.1]
 

Можно ли создать генератор списков, который способен это сделать?

Поэтому в результате я хочу получить следующий список списков:

 [[0.1, 0.9], [0.2, 0.8], ..., [0.9, 0.1]]
 

Я знаю, что могу использовать for для этого петлю, однако я хотел бы знать об этой возможности.

Комментарии:

1. Просто совет для вас: «2 значения, сумма которых равна 1», называются дополнительными числами, где они дополняются в 1. Дополнение в основном означает, что независимо от того, чего не хватает первому номеру, оно будет у второго.

Ответ №1:

Вы можете сделать что-то вроде

 [[z / 10, (10 - z) / 10] for z in range(1, 10)]
 

Эта формулировка пытается максимально уменьшить ошибку округления.

Ответ №2:

Вы можете заархивировать списки:

 z=[[j/10,i/10] for i,j in zip([x for x in range(10)],[y for y in range(10,-1,-1)])]