Список понимания, если основанная логика - PullRequest
0 голосов
/ 13 июля 2020

В следующем коде страйк - это двойное, а справа - «C» или «P». Как изменить этот оператор так, чтобы только [adouble - это случайное двойное значение]

Например, права = ['P', 'C'], chain.strikes = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100], а adouble - это 50. Поэтому мне нужны только те «C», которые больше, чем adouble (50), и только те «P», которые меньше adouble ( 50). Прямо сейчас я получаю их все.

strikes > adouble if right == 'C' or strikes < adouble if right == 'P'

Другими словами, я хочу добавить только к контрактам, не связанным с денежными обращениями и без денежных вкладов:

contracts = [Option(symbol, expiration, strike, right, 'SMART')
        for right in rights
        for expiration in expirations
        for strike in chain.strikes]
...