#python #list #if-statement
#python #Список #if-statement
Вопрос:
Я новичок в python
У меня есть список флагов. и этот список имеет переменную длину. Я хочу проверить, все ли переменные в этом списке верны
Я пытался
if (all in flags[x]==True):
finalFlags[x-1]=True
Но это превратило окончательный флаг true, когда только один флаг имеет значение true
Комментарии:
1. Просто
all(flags)
?
Ответ №1:
finalFlags = False
if all(flags):
finalFlags=True
Редактировать: упрощено по комментарию Криса:
finalFlags = all(flags)
Комментарии:
1. Спасибо =) Вы предлагаете курс или книгу для углубленного изучения python. специально для AI
2. Извините, я не могу конкретно рекомендовать какие-либо книги. Тем не менее, существует множество бесплатных курсов. Возможно, начать с Codecademy. У них есть курс машинного обучения python, если вы заинтересованы в том, чтобы двигаться в направлении ИИ.
Ответ №2:
Поскольку вы не опубликовали пример, я могу предположить, что это:
my_flags = [True, False, True, True, True, False]
valid_flags = 0
for flag in my_flags:
if flag == True:
valid_flags = 1
if len(my_flags) == valid_flags:
print("Total match")
else:
print("Matched ", valid_flags, " out of ", len(my_flags))
Ответ №3:
все и любые функции могут использоваться для проверки логических значений внутри списка.
test_list = []
all(iterable) возвращает True, если все элементы iterable рассматриваются как истинные значения (например, reduce(operator.and_, iterable) ).
любой (итерируемый) возвращает True, если хотя бы один элемент итерируемого является истинным значением (опять же, используя функциональные вещи, reduce(operator.or_, iterable)).
Когда вам нужно проверить, что все значения истинны, вы можете использовать функцию all() следующим образом
all(test_list) #will return true
Кроме того, вы можете использовать any() для проверки всех значений, которые являются истинными, но в это время вам нужно преобразовать элементы списка из true в false и проверить, есть ли какое-либо значение true, мы можем сказать, что в исходном списке есть false, и нам также нужно возвращать false, когда any()возвращает false, что означает, что нет истинного значения, поэтому в исходном списке у нас нет истинных значений
not all(not element for element in data)
Комментарии:
1. all() — самый простой способ использования, и мы также можем использовать any()