"Cannot read property 'Titre' of null"
означает, что объект, который содержит Titre, равен null
=> conts должен быть пустым.
Вы можете добавить дополнительную проверку существования conts
в тот же v-if или обернуть его.
Вариант 1:
<h3 v-if="conts && conts.Titre">{{ conts.Titre }}</h3>
Вариант 2:
<template v-if="conts">
<h3 v-if="conts.Titre">{{ conts.Titre }}</h3>
</template>
Первое, что вам нужно знать, это получить доступ к элементам в 2D-списке. Согласно вашему list1
, город находится в 0-й позиции, а температура - в 1-й позиции подряд. Внутри простого цикла вы можете получить доступ к ним следующим образом. Не забудьте сохранить отступ, чтобы указать тело цикла for.
for element in list1:
city = element[0]
temp_c = element[1]
Затем вы можете напрямую использовать temp_c
для вычисления температуры в градусах Фаренгейта (temp_f
), внутри цикла.
temp_f = (9 / 5) * temp_c + 32
Следующая задача - добавить вычисленные значения temp_f
в новый список (list2
) вместе с названием города.
list2.append((city, temp_f))
Но перед этим вы должны определить list2
. (где-то рядом вы определяете list1
)
list2 =[]
Итак, все готово. Вы можете проверить это, используя оператор print.
for element in list2:
print(element)
Этот код может быть реализован гораздо короче. Я расширяю его, чтобы уменьшить сложность. Надеюсь, вы это поняли.
Используйте понимание списка:
list1 = [("Berlin", 22), ("Zagreb", 30), ("New York", 25), ("Chicago", 20), ("Paris", 29)]
list2 = [(city, 9/5 * temp + 32) for city, temp in list1]
print(list2)
# [('Berlin', 71.599999999999994), ('Zagreb', 86.0), ('New York', 77.0), ('Chicago', 68.0), ('Paris', 84.200000000000003)]
Здесь вы перебираете список кортежей, получая названия городов в city
и температуру в градусах Цельсия в temp
, и конвертируете градусы Цельсия в Фаренгейт.
Без понимания списка:
list2 = []
for city, temp in list1:
list2.append((city, 9/5 * temp + 32))
print(list2)
# [('Berlin', 71.599999999999994), ('Zagreb', 86.0), ('New York', 77.0), ('Chicago', 68.0), ('Paris', 84.200000000000003)]