Python 如何按嵌入的时间和日期对字符串列表进行排序?
清单项目:Python 如何按嵌入的时间和日期对字符串列表进行排序?,python,sorting,Python,Sorting,清单项目: 'Cam218-10-03_16_05-21-54.jpg', 'Cam318-10-03_17_04-21-54.jpg', 'Cam418-10-03_16_04-21-54.jpg', 'Cam218-10-02_16_05-21-54.jpg', 'Cam318-10-02_17_04-21-54.jpg', 'Cam418-10-02_16_04-21-54.jpg', 'Cam218-10-02_16_04-08-31.jpg', 'Cam318-10-02_16_04-
'Cam218-10-03_16_05-21-54.jpg',
'Cam318-10-03_17_04-21-54.jpg',
'Cam418-10-03_16_04-21-54.jpg',
'Cam218-10-02_16_05-21-54.jpg',
'Cam318-10-02_17_04-21-54.jpg',
'Cam418-10-02_16_04-21-54.jpg',
'Cam218-10-02_16_04-08-31.jpg',
'Cam318-10-02_16_04-08-30.jpg',
'Cam418-10-02_16_04-08-30.jpg',
'Cam518-10-02_16_04-08-35.jpg',
'Cam618-10-02_16_04-08-36.jpg',
'Cam118-10-02_16_04-08-36.jpg',
'Cam118-10-03_16_05-21-54.jpg',
'Cam218-10-03_16_05-21-54.jpg',
'Cam118-10-03_16_05-21-54.jpg',
'Cam118-10-03_16_04-08-31.jpg',
使用python,如何使用时间戳对其进行排序?我希望输出为:
'Cam118-10-03_16_04-08-31.jpg',
'Cam218-10-02_16_04-08-31.jpg',
'Cam318-10-02_16_04-08-30.jpg',
'Cam418-10-02_16_04-08-30.jpg',
'Cam518-10-02_16_04-08-35.jpg',
'Cam618-10-02_16_04-08-36.jpg',
我试过这个:
file=open("ram.txt","r")
data=file.readlines()
data.sort()
for i in data:
print(i,end='')
你能告诉我们你试过什么吗?file=open(“file.txt”,“r”)data=file.readlines()data.sort()for i in data:print(i,end='')你应该在你的问题中发布你的代码,不作为注释。每个字符串的哪些部分表示时间和日期?您可以利用
排序
函数并提供键
函数返回要排序的部分。例如,排序(a,key=lambda x:x[4:24],reverse=True)
适合您的情况。有关sorted
内置函数的详细信息,请参阅:
file=open("ram.txt","r")
data=file.readlines() #assuming data now has the images in a list
dates = []
for img in data:
img = img.split('-')[1] #remove the cam118 etc and just get date strings
dates.append(img)
zipped_pairs = zip(dates, data) #zip them together
sorted_dates = [x for _, x in sorted(zipped_pairs, reverse=True)]