Форум сайта python.su
Нужно проверить существует ли элемент с нужным индексом .. и еще нужно проверить существование переменной .. последнее я так понял нужно реализовать через свои силы(стандартных средств нет)
Офлайн
не уверен насчет правильности, но, возможно, такой способ подойдет:
# переменная в локальной или глобальной видимости
if a in locals() or globals(): print 'True'
# элемент списка
b = [1,2,3]
if 3 in b: print 'True'
# проверка существования переменной используя исключения
try:
с
except NameError:
с = None
Отредактировано (Июль 10, 2011 12:58:47)
Офлайн
if a in locals() or globals(): print 'True'
if "a" in locals() or "a" in globals(): print 'True'
Отредактировано (Июль 10, 2011 14:28:41)
Офлайн
> с нужным индексом
>>> if 0 <= i < len(mylist): …
>>> key in mydict
try:
value = mylist[i]
except IndexError:
# ...
else:
# ...
try:
value = mydict[key]
except KeyError:
# ...
else:
# ...
Офлайн
bwа не проще
> с нужным индексомtry:
value = mydict[key]
except KeyError:
# ...
else:
# ...
key in mydict
Офлайн
При таком варианте больше работы проделывается:
if key in mydict:
value = mydict[key]
else:
# ...
_stub = object()
value = mydict.get(key, _stub)
if value is _stub:
# ...
else:
# ...
_stub = object()
def foo(key, default = _stub):
value = mydict.get(key, default)
if value is _stub:
raise MyException
Офлайн
Спасибо, разобрался!
Офлайн