Python中如何从含dict_values的字典列表提取纯名字列表?
解决字典列表提取纯名字的问题
嘿,这问题很常见,我来帮你搞定!
你现在得到dict_values对象是因为dict.values()方法返回的是字典所有值的视图集合,而不是单个字符串。每个字典里只有一个name键,所以直接通过键来取值就可以拿到纯字符串了。
给你几种实用的解决方案:
1. 修改你原有的循环代码
直接通过键'name'访问对应的值,替换掉values()即可:
namelist = [{'name': 'John'},{'name': 'Tin'},{'name': 'Mony'}, {'name':'Hilber'},{'name': 'Marge'}] names = [] for i in range(len(namelist)): names.append(namelist[i]['name']) print(names) # 输出: ['John','Tin','Mony','Hilber','Marge']
2. 更简洁的循环写法
没必要用range(len(namelist))绕一圈,直接遍历列表里的每个字典对象更直观:
names = [] for item in namelist: names.append(item['name'])
3. 最Pythonic的方式:列表推导式
一行代码搞定,既简洁又高效,是Python处理这类问题的常用写法:
names = [item['name'] for item in namelist]
如果非要用values()的话(其实完全没必要),也可以把视图对象转成列表后取第一个元素,但这种写法不如直接按键取值直观:
names.append(list(namelist[i].values())[0])
内容的提问来源于stack exchange,提问作者Ram Prasad
相关产品推荐
相关产品推荐

