如何使用Python从datetime列表中获取相同的日期小时或分钟?
我有一个时间列表,我需要得到列表中所有具有相同小时、分钟或秒的元素,并将它们形成新的列表 例如: 名单 出去如何使用Python从datetime列表中获取相同的日期小时或分钟?,python,algorithm,datetime,Python,Algorithm,Datetime,我有一个时间列表,我需要得到列表中所有具有相同小时、分钟或秒的元素,并将它们形成新的列表 例如: 名单 出去 您的问题是“如何将字符串转换为日期时间值”、“如何从日期时间中获取小时或分钟”以及“如何将列表分组为多个列表”的组合 ['10:20:01', '10:20:02', '10:21:00', '10:21:01', '10:22:00', '10:22:01'] ['10:20:01', '10:20:02'] ['10:21:00', '10:21:01'] ['10:22:00',
您的问题是“如何将字符串转换为日期时间值”、“如何从日期时间中获取小时或分钟”以及“如何将列表分组为多个列表”的组合
['10:20:01', '10:20:02', '10:21:00', '10:21:01', '10:22:00', '10:22:01']
['10:20:01', '10:20:02']
['10:21:00', '10:21:01']
['10:22:00', '10:22:01']
from datetime import datetime
from collections import defaultdict
q = ['10:20:01', '10:20:02', '10:21:00', '10:21:01', '10:22:00', '10:22:01']
t = []
for i in q:
w = (datetime.strptime(i,"%H:%M:%S").time()) # Converting str to time
t.append((w.hour,w.minute)) # Storing only hours and minutes
buckets = defaultdict(list)
for tup in t:
buckets[tup].append(tup) # Check time and append to coressponding dict key(Hour,minute)
buckets = list(buckets.values())