Как мне прочитать строку в список словарей? - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь превратить некоторые строки в список.

У меня есть различные строки под названием elementX, которые я хочу превратить в список с такой же структурой, как у Options.

#turn string into list
element1 = {'label': '26', 'value': '26'}
element2 = {'label': '28', 'value': '28'}
element3 = {'label': '29', 'value': '29'}
type(element1)

options=[
        {'label': '26', 'value': '26'},
        {'label': '28', 'value': '28'},
        {'label': '29', 'value': '29'},
     ]

Цель состоит в том, чтобы предложить метки строки в качестве параметров в Dropdown.dcc от Dash.

1 Ответ

0 голосов
/ 20 февраля 2019

@ zacha2, что не так с [element1, element2, element3]?

Имейте в виду, что до 3.6 или 3.7 словари не упорядочены, поэтому при их печати кортежи 'label' и 'value' могут быть транспонированы, но это не влияет на функциональность словарей.

Или у вас есть произвольное количество словарей с именем elementNNN, и вы хотите собрать их все во время выполнения?Во-первых, я бы пересмотрел ваш дизайн, чтобы вместо этого у вас было что-то вроде elements[].Но если вам действительно нужно сделать это для произвольного числа переменных elementN, вы можете использовать:

[v for (k,v) in locals().items if k.startswith('element')]

Функция locals() вернет словарь локальных переменных и связанных с ними значений.

...