我在列表中有一个字典
[{'123': 'some text'}]
我希望我的输出是一个字符串,键和值分开,如此
'123', 'some text'
有什么建议吗?
答案 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,更好地坚持前两个