如何在python中创建重复列表

如何在python中创建重复列表,python,datetime,Python,Datetime,我想创建一个日期列表,其中包含一周的日期列表,但每个日期在该列表中应该有4次。像这样: [1-jan-2018, 1-jan-2018, 1-jan-2018, 1-jan-2018, 2-jan-2018, 2-jan-2018, 2-jan-2018, 2-jan-2018, 3-jan-2018, 3-jan-2018, 3-jan-2018, 3-jan-2018, 4-jan-2018, 4-jan-2018, 4-jan-2018, 4-jan-2018, 5-jan-2018, 5

我想创建一个日期列表,其中包含一周的日期列表,但每个日期在该列表中应该有4次。像这样:

[1-jan-2018, 1-jan-2018, 1-jan-2018, 1-jan-2018, 2-jan-2018, 2-jan-2018, 2-jan-2018, 2-jan-2018, 3-jan-2018, 3-jan-2018, 3-jan-2018, 3-jan-2018, 4-jan-2018, 4-jan-2018, 4-jan-2018, 4-jan-2018, 5-jan-2018, 5-jan-2018, 5-jan-2018, 5-jan-2018, 6-jan-2018, 6-jan-2018, 6-jan-2018, 6-jan-2018,7-jan-2018, 7-jan-2018, 7-jan-2018, 7-jan-2018]
我不知道该怎么做,但以下是我的尝试:

import pandas as pd
timeSeries = list(pd.date_range(start='1/1/2020', end='7/1/2020')) 
print(timeSeries)
这将只是创建一个星期的日期列表,但我想在上述格式的答案。有人能帮忙吗?

如何复制列表中的项目 解决方案是创建各种列表,主列表的每个元素重复N次。在本例中,我将复制每个元素四次,因此:

old_list = [1,2,3,4]
# [i,i,i,i] will clone each item four times.
new_list = list([i,i,i,i] for i in old_list)
# new_list = [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]
但是,现在您将有一个列表列表,因此您需要将该结果转换为元素列表,此操作称为flat。为了在python中实现这一点,可以使用

您可以通过调用以下命令来避免使用
*
操作:

因此,这是一个实现您所需功能的代码:

import itertools
import pandas as pd
time_series = list(pd.date_range(start='1/1/2020', end='7/1/2020')) 
newseries = list( itertools.chain.from_iterable((i,i,i,i) for i in time_series) )
print(newseries)

多谢各位
import itertools
old_list = [1,2,3,4]
# [i,i,i,i] will clone each item four times.
new_list = list([i,i,i,i] for i in old_list)
# new_list = [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]
new_list_flatten = list(itertools.chain.from_iterable(new_list))
# new_list_flatten = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]
import itertools
import pandas as pd
time_series = list(pd.date_range(start='1/1/2020', end='7/1/2020')) 
newseries = list( itertools.chain.from_iterable((i,i,i,i) for i in time_series) )
print(newseries)