Проблема с элементами словаря Python - PullRequest
0 голосов
/ 01 декабря 2018

Я использую Python3 для проверки элементов dict.Я извлекаю некоторые данные из базы данных, а затем сравниваю эти данные с некоторыми ожидаемыми данными для целей проверки.В конце я хотел бы показать все наблюдаемые данные в формате словаря (ключ: значение).Скажем, у меня есть данные seen_output [13], seen_output [14] и так далее.Как я могу собрать все эти данные в один строчный код, не помещая вручную один за другим.Вывод, который я хочу, похож на observed_output= {13:observed_output[13], 14: observed_output[14]}
.Не работаю.Кто-нибудь может помочь?Вот мой код, для ясности:

def test1_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 13 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert observed_output[13]== (25.000024795532227,)
def test2_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 14 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert (observed_output[14])== (89.5999984741211,)
def test3_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 15 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert (observed_output[15])== (26.66666603088379,)
def test4_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 16 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert (observed_output[16])== (26.111459732055664,)
def test5_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 17 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert (observed_output[17])== (15.0,)
def test6_AdvOp_validtion():
    db_cursor = conn.execute("SELECT object_id, value, timestamp from bacnet_history where object_id = 18 order by id desc limit 1")
    for row in db_cursor:
            observed_output[row[0]]=row[1:2]
    assert (observed_output[18])== (t,)


observed_output= {k: v for k, v in observed_output.items()}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...