拆分列表python 3中的字典

时间:2018-01-03 17:55:40

标签: python-3.x

我在列表中有一个字典

[{'123': 'some text'}]

我希望我的输出是一个字符串,键和值分开,如此

'123', 'some text'

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

试试这个:

my_list_dict = [{'123': 'some text'}]

for elem in my_list_dict:
    for key in elem:
        print('key:', key)
        print('value:', elem[key])

答案 1 :(得分:0)

我认为您希望将值放入列表中,对吧? 这是我的aprouch


    list_dict = [{'123': 'some text'}]
    list_without_dict = []
    for dict in list_dict:
      for key in dict:
        list_without_dict.append(key)
        list_without_dict.append(dict[key])

    print(list_without_dict)

答案 2 :(得分:0)

简单地遍历整个输入,保留键和值,并使用', '.join()将列表连接到带有“,”作为分隔符的字符串

wierd_input = [{'123': 'some text', 'foo':'boo'}, {'and':'another'}]

all_parts = []
for dictionary in wierd_input:
    for key, value in dictionary.items():
        all_parts.extend((key, value))

print(", ".join(all_parts))

>>123, some text, foo, boo, and, another

如果您想在代码中经常加入此类对象,可以将其转换为生成器

def iterate_over_wierd(wierd):
    for dictionary in wierd:
        for key, value in dictionary.items():
            yield key
            yield value

print(", ".join(iterate_over_wierd(wierd_input)))

如果你迫切需要一个单行程,你可以使用itertools

import itertools
', '.join(itertools.chain.from_iterable(itertools.chain.from_iterable(map(dict.items,wierd_input))))

但是我建议反对这个因为一个班轮非常混乱和hacky,更好地坚持前两个