Python中从嵌套字典列表提取数据及字符分行问题求助
问题解答
你第二个for循环会逐字符输出,核心原因是:你遍历的是单个字符串,而非可迭代的容器(比如列表、字典)。
具体分析
看你的数据结构,entries.get('key')['key']对应的是'projkey1'、'projkey2'这类字符串值。在Python里,字符串本身是字符的序列,当你用for循环直接遍历字符串时,Python会把它拆成一个个单独的字符,循环一次输出一个,所以就出现了逐行打印每个字符的情况。
举个简单例子,执行这段代码:
for char in "hello": print(char)
会依次输出h、e、l、l、o,和你遇到的情况完全一致。
解决办法
如果你的需求只是获取这个嵌套的key值,第一个print语句就已经完成了,完全不需要第二个for循环。直接取值打印即可:
for entries in ppl: proj_key = entries.get('key')['key'] print(proj_key)
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

