Python: сравнение значений трех списков для создания нового списка

-4

Я пытаюсь сравнить значения трех списков в python и создать новый список, основанный на этих сравнениях. Чтобы сделать его более запутанным, третий список считается (+1), когда оператор = true.

Например:

list1 = [5,10,15,20,25]
list2 = [3,6,9,12,15]
list3 = [0,1,11,21,28]
list4 = []

if list1 >= list3 and list2 <= list3:
list4 = 0
else:
list4 = list4 + 1

Итак, list4 должен выглядеть так: list4 [1,2,0,1,2]

Любая помощь будет принята с благодарностью!

благодаря

спросил(а) 2021-01-25T16:51:36+03:00 4 месяца, 3 недели назад
1
Решение
89

Вы можете использовать функцию генератора и zip:

def solve(list1, list2, list3):
last = 0
for a, b, c in zip(list1, list2, list3):
if a >= c and b <= c:
yield 0
last = 0
else:
last += 1
yield last
...
>>> list(solve(list1, list2, list3))
[1, 2, 0, 1, 2]

ответил(а) 2021-01-25T16:51:36+03:00 4 месяца, 3 недели назад
45

list1 = [5,10,15,20,25]
list2 = [3,6,9,12,15]
list3 = [0,1,11,21,28]
answer = []

app = 0
for a,b,c in zip(list1, list2, list3):
if a>=c>=b:
app = 0
else:
app += 1
answer.append(app)

Доказательство:

>>> list1 = [5,10,15,20,25]
>>> list2 = [3,6,9,12,15]
>>> list3 = [0,1,11,21,28]
>>> answer = []
>>>
>>> app = 0
>>> for a,b,c in zip(list1, list2, list3):
... if a>=c>=b:
... app = 0
... else:
... app += 1
... answer.append(app)
...
>>> answer
[1, 2, 0, 1, 2]

ответил(а) 2021-01-25T16:51:36+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема