У меня есть два списка (tb_shade
и tb_sun
), которые я пытаюсь перебрать и добавить 1
в третий список (activity_status
), если критерий соблюден, или 0
, если не. Списки tb_shade
и tb_sun
имеют одинаковую длину (8760). И я пытаюсь создать третий список (activity_status
) такой же длины и со значением 0
, если одно из значений списков tb_shade
или tb_sun
находится за пределами числовых значений. c диапазон: 29–39 или 1
, если любое из значений находится в этом диапазоне. Я пробовал это несколькими разными способами. Я включил две из этих попыток ниже. Ни один из них не работает.
Первая попытка добавляет 0
для всех строк в списке, хотя я знаю, что критерии соблюдены в некоторых случаях. При второй попытке выводится список activity_status
, состоящий из 122268322 значений. Он должен быть таким же, как списки tb_sun
и tb_shade
, которые оба относятся к 8760. Кто-нибудь знает, как это запустить? Любая помощь или подсказка будут оценены! Спасибо!
Первая попытка
activity_status=[]
for i,q in zip(tb_shade, tb_sun):
if tb_shade[i] > (39) or tb_sun[q] < (29):
activity_status.append(0)
else:
activity_status.append(1)
Вторая попытка
activity_status=[]
for i in range(len(tb_shade)):
for q in range(len(tb_sun)):
if tb_shade[i] > 39 or tb_sun[q] < 29:
activity_status.append(0)
if tb_shade[i] < 39 or tb_sun[q] > 29:
activity_status.append(1)
print(len(activity_status)) #122268322
print(len(tb_shade)) #8760