如何将一个“复杂”的字典展平成lis

2024-10-01 01:49:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下字典结构:

{'AA': [('No Av', 'Ave', 3.35, 'Max', 0.9, 'Min', -6.8), ('analist disp:', -5.0), u' AA: Jan 11, 2016\t\t\t']}

在哪里

^{pr2}$

只是一个unicode字符串。在

我想把它展开成这样一个列表:

['AA', 'No Av', 'Ave', 3.35, 'Max', 0.9, 'Min', -6.8, 'analist disp:', -5.0, u' AA: Jan 11, 2016\t\t\t']

我尝试了这么多选择,但没有成功。在


Tags: no字符串列表字典unicodemin结构max
1条回答
网友
1楼 · 发布于 2024-10-01 01:49:32

定义递归字典值的递归函数:

d = {'AA': [('No Av', 'Ave', 3.35, 'Max', 0.9, 'Min', -6.8),
            ('analist disp:', -5.0), u' AA: Jan 11, 2016\t\t\t']}


def flat(xs):
    for x in xs:
        if isinstance(x, (list, tuple)):
            for y in flat(x):
                yield y
        else:
            yield x

# If there's only one item in the dictionary
next([key] + list(flat(value)) for key, value in d.items())
# => ['AA', 'No Av', 'Ave', 3.35, 'Max', 0.9, 'Min', -6.8, 'analist disp:',
#     -5.0, u' AA: Jan 11, 2016\t\t\t']

如果有多个项目,请使用以下内容:

^{pr2}$

相关问题 更多 >