как удалить скобки из вставленного кортежа в списке? - PullRequest
0 голосов
/ 06 мая 2020

, пожалуйста, может кто-нибудь помочь мне удалить лишние скобки из моего списка кортежей?

latest_Value = {"17:00:00": 100.00}

Dict1 = {"current value": 100, "stock_purchased": "false", "Historic value": [('16:00:00', 55.50), ("15:00:00", 45.50), ("14:00:00", 75.50),("13:00:00", 65.50), ("12:00:00", 55.50)]}

# converting the latest_value into a tuple
List_it = [(k, v) for k, v in latest_Value.items()]

# insert the tuple into the tuple list
Dict1['Historic value'].insert(0, List_it)

data2 = Dict1["Historic value"]
print(data2)

#output 

[[('17:00:00', 100.0)], ('16:00:00', 55.5), ('15:00:00', 45.5), ('14:00:00', 75.5), ('13:00:00', 65.5), ('12:00:00', 55.5)]

при внесении поправок в список добавляется вложенный список, а не только кортеж. Как этого избежать?

С уважением,

Андрей

1 Ответ

2 голосов
/ 06 мая 2020
# converting the latest_value into a tuple
List_it = [(k, v) for k, v in latest_Value.items()]

Это, собственно говоря, неверно. Это преобразует весь словарь в кортежи, а не только последнюю пару ключ-значение, поэтому Dict1['Historic value'].insert(0, List_it) добавляет весь список кортежей к Dict1['Historic value'].

Тот факт, что latest_Value содержит одну пару ключ-значение не меняет того факта, что List_it будет списком кортежей.

Если вы измените значение на Dict1['Historic value'].insert(0, List_it[0]), вы получите желаемый результат.

...