在 IF 语句中对所有范围使用“:” - Python

Using ':' for all range in an IF statement - Python

我想知道如何在 IF 语句中使用“:”符号。 例如 - 如果条件为真,我想使用所有值;否则只使用一些值。

密码是-

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

我想知道我是否可以使用这样的东西-

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

但显然这不适用于 eval 函数。

我怎样才能做到这一点?

谢谢

试试这个:

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

您可能想要包装整个最后一条语句并使用 .format(...) 将您的变量注入到字符串中。

If condition_true:
   var = ':'
else:
   var = 'x:y'
eval("data['column1'][{}]".format(var))