如题,我有一个函数会生成list[a,b],我将它加入进nlist
nlist.append(list)
得到的就是
[[a,b],[a,b],[a,b],[a,b]....]
我想要读取每个list里的a,所以我写了一个列表推导式
alist=[x[0] for x in nlist]
然后问题来了,函数生成的list可能是空的,于是导出list[],这样一来我写的这个列表推导式就会报错。
有没有什么办法解决。
alist=[x[0] for x in nlist if x]
判断当X存在时才取x【0】
nlist=[]
nlist.append(["a","b"])
nlist.append([])
alist=[x[0] if x else None for x in nlist]
print(alist)
有两个方法可以解决:
1.可以在前面加个判断nlist是否为空,不为空则执行列表推导式
if nlist:
alist=[x[0] for x in nlist]
2.可以直接在列表推导式的最后面加个判断x列表是否存在
alist=[x[0] for x in nlist if x]