【发布时间】:2017-02-08 00:19:41
【问题描述】:
我有一个包含这种格式信息的字典列表:
p_mat_list = [
{'name': 'Mirror', 'link': '/somelink1/'},
{'name': 'Gold Leaf', 'link': '/somelink2/'}
]
首先,创建包含所有名称值的 python 列表:
product_materials = []
for material in p_mat_list:
product_materials.append(material['name'])
但是,当列表具有嵌套列表和字典时,我不知道获取所有名称值的最佳方法是什么,如下所示:
p_mat_list = [
[{'name': 'Painted'}, {'name': 'Wood'}],
{'name': 'Mirror'},
{'name': 'Gold Leaf'}
]
如何获取所有这些名称值:Painted、Wood、Mirror、Gold Leaf?
另外,我如何将每个嵌套列表中的所有字典中的名称值合并为一个值,然后将其与其他值一起放入列表中,这样会得到这样的值:Painted Wood、Mirror、Gold Leaf。
不会有嵌套更多级别的列表,并且其中不会有两个以上的字典,例如从下面的这个列表中需要得到这样的值: 彩绘木头、镜子、涂漆木头、金箔。
p_mat_list = [
[{'name': 'Painted'}, {'name': 'Wood'}],
{'name': 'Mirror'},
[{'name': 'Varnished'}, {'name': 'Wood'}],
{'name': 'Gold Leaf'}
]
【问题讨论】:
-
我刚刚注意到的一点:上一个示例的结果是否真的应该将
'Painted Wood'包含为单个字符串,而不是'Painted'和'Wood'作为单独的字符串?如果是这样,这与您的第一个示例不一致,在这种情况下,我认为我们需要进一步澄清您的意思。
标签: python list dictionary