#python
Вопрос:
все еще изучаю python и понял, что мой код не должен работать, но ошибки не было.
Подозреваемый неправильный код, Пример1
ListA = [1h]
if ListA == '1h':
print(True)
else:
print(False)
То, что я считаю правильным, основано на чтении и выполнении простого логического теста, Пример2:
ListA = [1h]
if '1h' in ListA:
print(True)
else:
print(False)
Я запускаю Пример1 уже довольно давно, хотя я не заметил большого количества нежелательных результатов в общей схеме вещей, я просто хочу быть уверен, какой из них я должен использовать.
Комментарии:
1. Почему неправильный код ? Просто условие false-это список, равный строке : нет. независимо от значений
2. «Должна ли быть ошибка» если бы была ошибка, ваш код вызвал бы ее, если нет : есть ошибка
3. С вашей стороны может быть логическая ошибка, в зависимости от того, что вы на самом деле хотите проверить, но синтаксически ошибки нет.
4. ваше утверждение ложно : ListA = [1h] дает ^ синтаксическую ошибку: недопустимый синтаксис. Я отметил ваш пост
Ответ №1:
Вы можете просмотреть список и посмотреть, есть ли в нем нужный элемент. Пример:
ListA = ["1h", "2h"]
for ele in ListA:
if ele == "1h":
print(True)
else:
print(False)
Вы также можете использовать приведенный выше пример для более длинного списка. В вашем случае я бы использовал пример 2, который вы предоставили, так как он чище. Оба кода достигают одного и того же с одинаковой временной сложностью, которая равна O(N), где N-количество элементов в вашем массиве.