Python 以列表的形式获取输出
有一个集合列表,如下所示:Python 以列表的形式获取输出,python,datetime,Python,Datetime,有一个集合列表,如下所示: expiry = [{'20180830', '20180928', '20181025'}, {'20180830', '20180927', '20181026'}, {'20180830', '20180927', '20181025'}] 和一个函数: def get_dte(Expiry): exp_date = datetime.strptime(Expiry, '%Y%m%d') dte = (e
expiry = [{'20180830', '20180928', '20181025'},
{'20180830', '20180927', '20181026'},
{'20180830', '20180927', '20181025'}]
和一个函数:
def get_dte(Expiry):
exp_date = datetime.strptime(Expiry, '%Y%m%d')
dte = (exp_date- datetime.now()).days
return dte
如何以相同的输入形式获得函数的输出(集合列表)
产生:
[61, 90, 33, 61, 89, 34, 61, 89, 33]
…需要的是:
[{61, 90, 33}, {61, 89, 34}, {61, 89, 33}]
你只需要稍微修改一下你的理解力就可以了 试试看:
from datetime import datetime
expiry = [{'20180830', '20180928', '20181025'},
{'20180830', '20180927', '20181026'},
{'20180830', '20180927', '20181025'}]
def get_dte(Expiry):
exp_date = datetime.strptime(Expiry, '%Y%m%d')
dte = (exp_date- datetime.now()).days
return dte
print( [{get_dte(i) for i in elem } for elem in expiry] )
[{89, 33, 62}, {33, 90, 61}, {89, 33, 61}]
输出:
from datetime import datetime
expiry = [{'20180830', '20180928', '20181025'},
{'20180830', '20180927', '20181026'},
{'20180830', '20180927', '20181025'}]
def get_dte(Expiry):
exp_date = datetime.strptime(Expiry, '%Y%m%d')
dte = (exp_date- datetime.now()).days
return dte
print( [{get_dte(i) for i in elem } for elem in expiry] )
[{89, 33, 62}, {33, 90, 61}, {89, 33, 61}]
您需要分别迭代过期的每个元素:
>>> [{get_dte(j) for j in i} for i in expiry]
[{33, 62, 89}, {33, 61, 90}, {33, 61, 89}]
打印([{get_dte(i)for i in elem}for elem in expiration])
?输出应为目录列表或列表列表?集合列表(非目录)