对列表进行子集化并保留原始长度,但缺少空白值



我有以下列表:

month_list=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','Jan']

从第一个值开始,我想选择每个"第 4 个"值,我实现如下:-

quarter_list=month_list[0::3]
print(quarter_list)
['Jan', 'Apr', 'Jul', 'Oct', 'Jan']

但是,我想要一个原始列表长度的列表,其中填充空白值来代替不需要的数据。 预期产出如下:-

print(quarter_list_expected')
['Jan','','','Apr','','','Jul','','','Oct','','','Jan']

请提出前进的方向。

这个推导就可以了,使用enumerate并在索引上测试 mod 3:

quarter_list = ['' if i % 3 else m for i, m in enumerate(month_list)]

试试这个:-

quarter_list_expected = [month if month in quarter_list else '' for month in month_list]

输出:

['Jan', '', '', 'Apr', '', '', 'Jul', '', '', 'Oct', '', '', 'Jan']

最新更新