如何在此词典列表中仅打印“mid”或“status”?
list = [{'status': 'OK', 'mid': '6269'}, {'status': 'OK', 'mid': '6270'},{'status': 'OK', 'mid': '6271'}, {'status': 'OK', 'mid': '6272'}, {'status': 'OK', 'mid': '6273'}, {'status': 'OK', 'mid': '6274'},{'status': 'OK', 'mid': '6288'}, {'status': 'OK', 'mid': '6289'}]
我试过:print list[0]['mid']
但它只给出了列表中第一项的'mid'值?我怎么能为整个list
做到这一点?
答案 0 :(得分:8)
使用列表理解:
data = [{'status': 'OK', 'mid': '6269'},
{'status': 'OK', 'mid': '6270'},
{'status': 'OK', 'mid': '6271'},
{'status': 'OK', 'mid': '6272'},
{'status': 'OK', 'mid': '6273'},
{'status': 'OK', 'mid': '6274'},
{'status': 'OK', 'mid': '6288'},
{'status': 'OK', 'mid': '6289'}]
print [item['mid'] for item in data]
PS:不要为变量list
命名,不能使用内置的list
。
答案 1 :(得分:1)
虽然上面的答案是正确的,但我会尝试解释为什么OP的原始代码不起作用。
如果您没有使用List Comprehensions,那么可以使用简单的for循环,其范围从0到列表的长度。或者用于列表类型的迭代中的项目。