170 похожих чатов

Скажите плиз это норм практика делать проверку если не ноне

и не значения по индексу с array не равно 0 или все же нужно делать вложенный «if» ?

a = [1, 0, 1, 2]
a = None

my_index = 0
if type(a) == list and a[my_index] !=0:
pass

18 ответов

12 просмотров

1) isinstance() 2) try: if a[my_index] except: pass

Vladyslav- Автор вопроса

я задал немного другой вопрос) это нормально в одно условие делать проверку на тип и на проверку числа из индекса или делать вложенное условие?

А кроме списка и None возможны другие варианты и конкретный тип важен? Если да, то странно, если нет, то if a is not None and a[my_index] != 0:

Vladyslav- Автор вопроса
Vladyslav
я задал немного другой вопрос) это нормально в одн...

В условии может быть сколько угодно условий. Если важна читаемость(обычно она важна) то отталкиваетесь от того, что лучше читается. Если надо проверить тип - используйте isinstance Дзен питона говорит, лучше извиниться, чем спрашивать --- И да, на None проверяют через is

evle
А кроме списка и None возможны другие варианты и к...

А зачем в этом случае вообще проверять на None? Можно просто if a

Wanna_Phonila
В условии может быть сколько угодно условий. Есл...

Дзен питона такого не говорит, но да, часто это более удачная стратегия.

Елена Максимова
А зачем в этом случае вообще проверять на None? Мо...

Зависит от задачи. Возможно, что достаточно. Под if a попадают кроме None и другие значения, которые может хотеться не пропускать.

Vladyslav- Автор вопроса
evle
Зависит от задачи. Возможно, что достаточно. Под i...

может быть только None или лист, другое быть не может

evle
Зависит от задачи. Возможно, что достаточно. Под i...

Тут человек сказал, что у него либо лист либо нан)

Vladyslav
может быть только None или лист, другое быть не мо...

но лист может быть пустым, поэтому if a адекватнее. заранее условие не проверяется, если первое False второе он не вычисляет. когда два c and кажется читаемее чем с 2мя ифами или траем

Vladyslav- Автор вопроса
Vladyslav
может быть только None или лист, другое быть не мо...

Но если в переменную может попасть всё что угодно, то тут, конечно, проблемы посерьёзнее имеются))

evle
a = [] if a: # This won't run

ну да. там же вторым условием индекс проверяется, поэтому для таких случаев is a вроде адекватнее правда

Сергей
но лист может быть пустым, поэтому if a адекватнее...

Выбор зависит от того, что должно произойти. если список пустой. Если это ошибка, то упасть с IndexError правильнее, чем молча пропустить.

evle
Дзен питона такого не говорит, но да, часто это бо...

Ну, не в дзене, но где-то в доке точно было про EAFP

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта