假设我们有如下数据
a = [{'a':1, 'b': 1}, {'a':2, 'b':2}]
a有两种情况:
- 列表不为空且其中所有项的结构都相同
- 空列表
我们想输出键的列表
for key in a[0].keys():
print(key)
如果为空列表则报错
a = []
for key in a[0].keys():
print(key)
IndexError Traceback (most recent call last)
<ipython-input-60-faedc2e9e05f> in <module>
----> 1 for key in a[0].keys():
2 print(key)
3
IndexError: list index out of range
虽然我们可以添加条件语句判断列表是否为空,但显得不那么高级
我们知道字典有get方法,可以设置默认值,但列表没有类似的方法,但我们可以借助next函数来实现返回默认值的功能,下面代码默认返回空字典,所以就不会报错了
for key in next(iter(a), {}).keys():
print(key)