работа со словарём пайтон

Рейтинг: -2Ответов: 2Опубликовано: 28.02.2023

не могу понять как вытащить нужные значения из словаря в питоне. есть такой вот словарь:

{'': [], '2023-02-28 00:00:00': [5, 'пасмурно'], '2023-02-28 03:00:00': [5, 'пасмурно'], '2023-02-28 06:00:00': [5, 'пасмурно'], '2023-02-28 09:00:00': [5, 'пасмурно'], '2023-02-28 12:00:00': [4, 'пасмурно'], '2023-02-28 15:00:00': [4, 'пасмурно'], '2023-02-28 18:00:00': [2, 'облачно с прояснениями'], '2023-02-28 21:00:00': [2, 'ясно'], '2023-03-01 00:00:00': [1, 'ясно'], '2023-03-01 03:00:00': [1, 'ясно'], '2023-03-01 06:00:00': [1, 'ясно'], '2023-03-01 09:00:00': [2, 'небольшая облачность'], '2023-03-01 12:00:00': [4, 'ясно'], '2023-03-01 15:00:00': [3, 'пасмурно'], '2023-03-01 18:00:00': [3, 'пасмурно'], '2023-03-01 21:00:00': [2, 'пасмурно'], '2023-03-02 00:00:00': [1, 'пасмурно'], '2023-03-02 03:00:00': [0, 'облачно с прояснениями'], '2023-03-02 06:00:00': [1, 'переменная облачность'], '2023-03-02 09:00:00': [2, 'небольшая облачность'], '2023-03-02 12:00:00': [2, 'переменная облачность'], '2023-03-02 15:00:00': [2, 'облачно с прояснениями'], '2023-03-02 18:00:00': [2, 'пасмурно'], '2023-03-02 21:00:00': [2, 'облачно с прояснениями'], '2023-03-03 00:00:00': [2, 'переменная облачность'], '2023-03-03 03:00:00': [1, 'пасмурно'], '2023-03-03 06:00:00': [2, 'пасмурно'], '2023-03-03 09:00:00': [3, 'пасмурно'], '2023-03-03 12:00:00': [4, 'пасмурно'], '2023-03-03 15:00:00': [3, 'переменная облачность'], '2023-03-03 18:00:00': [3, 'облачно с прояснениями'], '2023-03-03 21:00:00': [2, 'переменная облачность'], '2023-03-04 00:00:00': [2, 'переменная облачность'], '2023-03-04 03:00:00': [2, 'пасмурно'], '2023-03-04 06:00:00': [3, 'пасмурно'], '2023-03-04 09:00:00': [4, 'пасмурно'], '2023-03-04 12:00:00': [4, 'пасмурно'], '2023-03-04 15:00:00': [3, 'пасмурно'], '2023-03-04 18:00:00': [3, 'небольшой дождь'], '2023-03-04 21:00:00': [2, 'небольшой дождь']}

тут значения погоды по дням и часам. мне столько не нужно, нужно на каждый приведённый день 1 или максимум 2 значения. Например: '2023-02-28 00:00:00': [5, 'пасмурно'],'2023-02-28 15:00:00': [4, 'пасмурно'],'2023-03-01 00:00:00': [1, 'ясно'],'2023-03-01 15:00:00': [3, 'пасмурно'], и так далее по дням. логично, что каждый раз будут сдвигаться дни. Пожалуйста подскажите как автоматически убирать всё лишние.

Дополнение: Всем спасибо! воспользовался Вашими советами в итоге вот что вышло:

for key, val in zip(d.keys(), d.values()):
if key.endswith(f"{z[1]}"):
    b.update({key: val})

return b Не знал про существование такого метода как endswith(). очень удобно.

Ответы

▲ 0

Ну и в чем проблема?

year = "2023"
month = "02"
day = "28"

hour = "15"
minute = "00"
second = "00"

print(your_dict[f"{year}-{month}-{day} {hour}:{minute}:{second}"])

чтобы удалять лишнее(к примеру оставляем только 15 часов):

for key in your_dict.keys():
    if not key.endswith("15:00:00"):
        del your_dict[key]
▲ 0

Можно пройтись по элементам и ключам:

data = {'': [], '2023-02-28 00:00:00': [5, 'пасмурно'], '2023-02-28 03:00:00': [5, 'пасмурно'], '2023-02-28 06:00:00': [5, 'пасмурно'], '2023-02-28 09:00:00': [5, 'пасмурно'], '2023-02-28 12:00:00': [4, 'пасмурно'], '2023-02-28 15:00:00': [4, 'пасмурно'], '2023-02-28 18:00:00': [2, 'облачно с прояснениями'], '2023-02-28 21:00:00': [2, 'ясно'], '2023-03-01 00:00:00': [1, 'ясно'], '2023-03-01 03:00:00': [1, 'ясно'], '2023-03-01 06:00:00': [1, 'ясно'], '2023-03-01 09:00:00': [2, 'небольшая облачность'], '2023-03-01 12:00:00': [4, 'ясно'], '2023-03-01 15:00:00': [3, 'пасмурно'], '2023-03-01 18:00:00': [3, 'пасмурно'], '2023-03-01 21:00:00': [2, 'пасмурно'], '2023-03-02 00:00:00': [1, 'пасмурно'], '2023-03-02 03:00:00': [0, 'облачно с прояснениями'], '2023-03-02 06:00:00': [1, 'переменная облачность'], '2023-03-02 09:00:00': [2, 'небольшая облачность'], '2023-03-02 12:00:00': [2, 'переменная облачность'], '2023-03-02 15:00:00': [2, 'облачно с прояснениями'], '2023-03-02 18:00:00': [2, 'пасмурно'], '2023-03-02 21:00:00': [2, 'облачно с прояснениями'], '2023-03-03 00:00:00': [2, 'переменная облачность'], '2023-03-03 03:00:00': [1, 'пасмурно'], '2023-03-03 06:00:00': [2, 'пасмурно'], '2023-03-03 09:00:00': [3, 'пасмурно'], '2023-03-03 12:00:00': [4, 'пасмурно'], '2023-03-03 15:00:00': [3, 'переменная облачность'], '2023-03-03 18:00:00': [3, 'облачно с прояснениями'], '2023-03-03 21:00:00': [2, 'переменная облачность'], '2023-03-04 00:00:00': [2, 'переменная облачность'], '2023-03-04 03:00:00': [2, 'пасмурно'], '2023-03-04 06:00:00': [3, 'пасмурно'], '2023-03-04 09:00:00': [4, 'пасмурно'], '2023-03-04 12:00:00': [4, 'пасмурно'], '2023-03-04 15:00:00': [3, 'пасмурно'], '2023-03-04 18:00:00': [3, 'небольшой дождь'], '2023-03-04 21:00:00': [2, 'небольшой дождь']}

for k, v in zip(data.keys(), data.values()):
    print(k, ': ', v, sep='') # можно так --> print(f'{k}: {v}')