如何将字符串读入词典列表?

时间:2019-02-20 17:10:08

标签: python plotly-dash

我正在尝试将一些字符串转换为列表。

我有各种称为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'},
     ]

目标是在Dash的Dropdown.dcc中提供字符串的标签作为选项。

1 个答案:

答案 0 :(得分:0)

@ zacha2,[element1, element2, element3]有什么问题?

请记住,直到3.6或3.7之前,字典都是无序的,因此当您打印它们时,“标签”和“值”元组可能会转置,但这不会影响字典的功能。

还是您有任意数量的称为elementNNN的字典,并且想在运行时收集所有字典?首先,我将重新考虑您的设计,以便改为使用elements[]之类的东西。但是,如果您确实需要对任意数量的elementN变量执行此操作,则可以使用:

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

locals()函数将返回一个局部变量及其相关值的字典。