所以我有一个函数,它返回一个包含空列表或系列的列表。我遍历一个股票行情列表,对于每个股票,它将返回一个空列表或系列并将它们存储在一个列表中。
但是,在遍历完所有内容后,我希望能够删除空列表,并且列表中只包含系列。
def get_revenue_growth(ticker) -> pd.DataFrame:
income_statement_annually = fa.financial_statement_growth(ticker, FA_API_KEY, period="annual")
if 'revenueGrowth' in income_statement_annually.index:
revenue_growth = income_statement_annually.loc['revenueGrowth']
exchange_df = pd.DataFrame({ticker : revenue_growth})
exchange_df.index = pd.to_datetime(pd.Series(exchange_df.index))
exchange_df = exchange_df[exchange_df.index.year >= 1998]
exchange_df = exchange_df.sort_index()
print('Getting Revenue Growth for ' + ticker + ': Passed')
else:
print('Getting Revenue Growth for ' + ticker + ': Failed')
exchange_df = []
return exchange_df
这是我通过这个调用的函数:
revenue_growth = [get_revenue_growth(t) for t in tickers]
Here is what the output looks like...
所以我想要实现的是删除所有空列表。我试过这个 list2 = [x for x in list1 if x != []]
但没有用。
答案 0 :(得分:1)
您可以通过以下方式简单地解决它:
list2 = [x for x in list1 if len(x)>0]
答案 1 :(得分:1)
看看这个例子 -
mylist = []
if len(mylist) == 0:
del mylist # Deletes the Empty List
else:
# Do Something else
为您的程序修改此部分