Использование ':' для всего диапазона в операторе IF - Python - PullRequest
0 голосов
/ 27 марта 2020

Мне интересно, как я могу использовать символ «:» в выражении IF. Например - если условие истинно, я хочу использовать все значения; иначе используйте только некоторые значения.

Код -

If condition_true:
   data['column1'][:]
else:
   data['column1'][x:y]

Мне интересно, могу ли я использовать что-то вроде этого -

If condition_true:
   var = ':'
else:
   var = 'x:y'
data['column1'][eval(var)]

Но, очевидно, это не так работа с функцией eval.

Как мне этого добиться?

Спасибо

Ответы [ 2 ]

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

Вы можете обернуть весь последний оператор и использовать .format(...) для вставки вашей переменной в строку.

If condition_true:
   var = ':'
else:
   var = 'x:y'
eval("data['column1'][{}]".format(var))
0 голосов
/ 27 марта 2020

попробуйте это:

new_data = data['column'] if condition_true else data['column'][x:y]
...