Таким образом, Python также оценивает x [0], хотя нет причин для его оценки.
Я предполагаю, что это сработает для вас, в его самой простой форме:
if len(x) > 0:
print("Hi Ho!")
Это оценивает длину X и (если больше 0) отвечает True,
Однако, если переменная "x" не существует, произойдет ошибка. Оценка того, существует ли вообще «x» и содержит ли он хотя бы один элемент, - это (я полагаю) то, чего вы пытаетесь достичь с помощью ...
if x[0]:
print("Hi Ho!")
Python оценивает True
, еслипеременная существует и содержит любое значение. Он оценивает False
, если переменная существует , но не содержит значения . Python выдаст ошибку, если переменная не существует.
Итак, это может быть то, что вы ищете ...
try:
if len(x) > 0:
print("Hi Ho!")
else:
print("Variable does not seem to contain a value!")
except (NameError, AttributeError, ValueError):
print("Variable does not exist!")
РЕДАКТИРОВАТЬ:
Обратите внимание, что если x
существует в виде списка, но не содержит значений, len(x)
будет иметь значение 0
. Однако, если вы попытаетесь оценить x[0]
, вы все равно получите ошибку, но это ошибка IndexError
, а не ошибка «Переменная не существует».