Найти - Пользователи
Полная версия: Проверка на существование элемента списка
Начало » Python для новичков » Проверка на существование элемента списка
1
Danial_72
Нужно проверить существует ли элемент с нужным индексом .. и еще нужно проверить существование переменной .. последнее я так понял нужно реализовать через свои силы(стандартных средств нет)
Actor
не уверен насчет правильности, но, возможно, такой способ подойдет:
# переменная в локальной или глобальной видимости
if a in locals() or globals(): print 'True'
# элемент списка
b = [1,2,3]
if 3 in b: print 'True'
# проверка существования переменной используя исключения
try:
с
except NameError:
с = None
Rodegast
if a in locals() or globals(): print 'True'
Может:
if "a" in locals() or "a" in globals(): print 'True'
bw
> с нужным индексом
>>> if 0 <= i < len(mylist): …
>>> key in mydict
try:
value = mylist[i]
except IndexError:
# ...
else:
# ...
try:
value = mydict[key]
except KeyError:
# ...
else:
# ...
> проверить существование переменной
>>> value in mylist
>>> value in mydict.items()

..bw
kachayev
bw
> с нужным индексом
try:
value = mydict[key]
except KeyError:
# ...
else:
# ...
а не проще

key in mydict
?
bw
При таком варианте больше работы проделывается:
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
..bw
JZ911
Спасибо, разобрался!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB