[英]How to remove the dictionary key and retain the values only in list?
我的变量中有一个字典列表,如下所示:
category = [ { "S" : "Restaurants" }, { "S" : "Drinks" }, { "S" : "Outdoor Seating" }]
我想删除键,它应该只给我值,output 应该如下所示:
[Restaurants,Drinks,Outdoor Seating]
注意:列表的长度每次都在变化,假设上面的类别变量有 3 个键值对。 下一次可能是 2、4 或其他数字,但它应该只返回值。怎么做?
答案的本质是遍历列表,并为每个字典提取所需的值并将其粘贴到新列表中。
假设每个字典只有一个带有键"S"
的条目,如您的示例所示,您可以在一行中完成:
l = [d["S"] for d in category]
在更一般的情况下,如果我们不假设每个字典中的条目数,单行解决方案只会变得稍微笨拙一些
l = [value for d in category for value in d.values()]
就个人而言,我发现多线解决方案更容易遵循:
l = []
for d in category:
for value in d.values():
l.append(value)
我建议使用列表推导来遍历列表并获取每个字典的所有值。
category = [ { "S" : "Restaurants" }, { "S" : "Drinks" }, { "S" : "Outdoor Seating" }]
new = [list(dicx.values())[0] for dicx in category]
output
['Restaurants', 'Drinks', 'Outdoor Seating']
试试这个
category = [ { "S" : "Restaurants" }, { "S" : "Drinks" }, { "S" : "Outdoor Seating" }]
for data,cat in enumerate(category):
for value,key in cat.items():
category[data]=key
print(category)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.