Как проверить элементы списка переменной длины в инструкции if python

#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()