Форум сайта python.su
Добра всем!
Пытаюсь разобраться с any…
Упрощенно так: хочу сравнить элементы одного списка между собой - если все равны хочу получить True, иначе False.
lst = [1, 2, 1]
if any(x for x in lst if x == 1):
print(True)
else:
print(False)
Отредактировано lupanton (Апрель 7, 2018 23:14:18)
Офлайн
any выдаст True если хоть один элемент будет истинен, тебе подойдёт all
Офлайн
А вот такое определение может оказать влияние на результат:
from typing import List, Any
def respons(elem: List[Any]->bool)
***
return
Офлайн
Причём тут твои типы? all и any это Квантор всеобщности и Квантор существования т.е. функции, типы тут вообще не причём.
Отредактировано Rodegast (Апрель 7, 2018 22:30:45)
Офлайн
Rodegast
надо определить, все ли элементы массива равны.
Входные: List - формируется автоматически осциллографом и в этом списке 17962 элемента. Если не равны, то снова надо замерять.
Выходные:True или False.
Это часть кода - никакие вводные менять нельзя. в ассертах представлены возможные варианты выходного списка для анализа - никак не могу добиться толку со всеми видами списков - даже этим вот кодом:
from typing import List, Any def resp(elements: List[Any]) -> bool: d = {} d1 = {} for x in range(len(list)): if list[x] not in d: if list[x] not in d1: d[list[x]] = x else: d1[list[x]] = x d.pop(list[x]) if not d: print(True) else: print(False) if __name__ == '__main__': assert resp([1, 1, 1]) == True assert resp([1, 2, 1]) == False assert resp(['a', 'a', 'a']) == True assert resp([]) == True assert resp([1]) == True
TypeError: object of type 'type' has no len()
Отредактировано lupanton (Апрель 8, 2018 00:14:27)
Офлайн
>>> lst = [1, 2, 1] >>> all(i == lst[0] for i in lst) False >>> >>> lst = [1, 1, 1] >>> all(i == lst[0] for i in lst) True >>>
Отредактировано py.user.next (Апрель 8, 2018 00:10:00)
Офлайн
py.user.next
Спасибо! В задании у меня ерундовина и путаница.
Офлайн