如何在python中将元组转换为字符串并将其用于strptime?

问题描述 投票:0回答:3

我在Date中有一个元组列表[]:[[2017, 1, 1], [2017, 1, 1], . . .

如何将它们分别转换为字符串?

X=[]
Y=[]
for i in range(len(Date)):
    if(Date[i][0]==2017):
        str=''.join(Date[i])
        X.append(datetime.datetime.strptime(str, '%G %V %u').date())
        Y.append(Val[i])

strptime需要一个str进行转换,如果我在那里添加Date [i],它说它接受str而不是元组。我尝试通过str=''join(Date[i])进行转换,但它说strptime仅接受str而不是ints。这里似乎是什么问题?

python datetime strptime
3个回答
1
投票
无需使用strptime,您可以将值照原样传递给datetime.datetime

X.append(datetime.datetime(*Date[i]).date())


同样,您的代码需要精炼,变量名应小写,而不是在范围上进行迭代,而可以直接在dateval的值上进行迭代。

date = [[2017, 1, 1], [2017, 1, 1]] val = [0, 1] x = [] y = [] for i, v in zip(date, val): if i[0] == 2017: x.append(datetime.datetime(*i).date()) y.append(v)


0
投票
只需从您的三个参数中创建一个datetime实例

dates = [[2017, 1, 1], [2017, 1, 1]] X = [] for date in dates: if date[0] == 2017: dt = datetime.datetime(*date) X.append(dt.strftime('%G %V %u'))


0
投票
您可以直接直接初始化datetime.date对象:

X.append(datetime.date(year=Date[i][0], month=Date[i][1], day=Date[i][2]))

甚至

X.append(datetime.date(*Date[i]))

© www.soinside.com 2019 - 2024. All rights reserved.