【发布时间】:2021-05-30 00:30:20
【问题描述】:
所以我找到了这两个资源:Iterating over list of dictionaries 和 Nested dictionary comprehension python
但我是 python 新手,无法理解不同结构中的嵌套结构(列表中的嵌套字典,或字典中的嵌套列表。
例如,如果我试图在相机中获取字典(因此“color”:“black”,“res”:16 的键项对,然后将其附加到列表中。
非常感谢!
*updating below to append to a list.
nested_lst3 = [{"camera":{"color": "black", "res": 16}, "phone":1}, {"car":{"amount": 1, "year": 2017, "color": "red"}, "van":0}]
def get_values(d):
for i in d:
for key in d[i]:
l.append(key)
return(l)
#or this
def get_values(d):
for i in d:
for key, values in d[i]:
if type(values) is dict:
get_values(values)
else:
print(key, ":", value)
get_values(nested_lst3)
【问题讨论】:
-
请通过intro tour、help center 和how to ask a good question 了解本网站的运作方式并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。 “教我这些语言功能”对于 Stack Overflow 来说是题外话。 Stack Overflow 并不打算取代现有的教程和文档。您只需一次完成每一层嵌套。
-
您认为 Stack Overflow 的用途是什么?我为我的问题创建了一个最小的可重现示例。我想我的问题很清楚。我在这里查看了资源:holypython.com/intermediate-python-lessons/… 和这里towardsdatascience.com/… 并且无法理解某些内容,所以我不确定您对 SO 有什么想法,但我的理解是这就是该站点的用途。
-
最大的问题是,你想用这个做什么?您的子词典都有不同的键,因此没有明显的方法来整理它们。这使得迭代难以定义。你可以通过nested_lst3[0]['camera']['color']获取相机的颜色,但这不是你的问题。
-
我的意思是你的数据结构没有用。让我们弄清楚您想要做什么,这将决定您如何存储它以便于访问。
-
谢谢,所以我理解你所说的数据结构没有用,这是很好的说明。假设我想将这些值附加到一个列表中,我将在我的问题中更新该列表。我的主要语言是 R,所以我不经常使用 for 循环,而且在我正在学习的研究生 Python 课程中,并非所有内容似乎都嵌入了解决问题的最实用方法。
标签: python dictionary