我有一个这样的字典列表:
l = [{'name': 'foo', 'values': [1,2,3,4]}, {'name': 'bar', 'values': [5,6,7,8]}]
我想获得这种形式的输出:
>>> [('foo', 'bar'), ([1,2,3,4], [5,6,7,8])]
但缺少 for
-looping 和 append
ing 我没有看到解决方案。有没有比这样做更聪明的方法?
names = []
values = []
for d in l:
names.append(d['name'])
values.append(d['values'])
最佳答案
使用生成器表达式:
l = [{'name': 'foo', 'values': [1,2,3,4]}, {'name': 'bar', 'values': [5,6,7,8]}]
v = [tuple(k["name"] for k in l), tuple(k["values"] for k in l)]
print(v)
输出:
[('foo', 'bar'), ([1, 2, 3, 4], [5, 6, 7, 8])]
关于python - 在字典列表上进行以下转换的 Pythonic 方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53046994/