F16*_*con 4 python list python-3.x
我有一个结构与此类似的嵌套列表,但它显然要长得多:
mylist = [ ["Bob", "12-01 2:30"], ["Sal", "12-01 5:23"], ["Jill", "12-02 1:28"] ]
Run Code Online (Sandbox Code Playgroud)
我的目标是创建另一个嵌套列表,将具有相同日期的所有元素组合在一起。因此,需要以下输出:
newlist = [ [["Bob", "12-01 2:30"], ["Sal", "12-01 5:23"]], [["Jill", "12-02 1:28"]] ]
Run Code Online (Sandbox Code Playgroud)
上面,日期为 12-01 的所有项目,无论时间如何,都组合在一起,12-02 的所有元素都组合在一起。
在过去的 1 小时里,我一直在真诚地研究如何做到这一点,但找不到任何东西。此外,我是编程的初学者,所以我不够熟练,无法尝试创建自己的解决方案。所以,请不要认为我没有尝试做研究或自己尝试尝试这个问题。我将在下面添加一些链接作为我的研究示例:
使用 dict 或 orderdict(如果排序很重要)按日期时间对数据进行分组。
from collections import defaultdict # use defaultdict like {}.setdefault(), it's very facility
mylist = [["Bob", "12-01 2:30"], ["Sal", "12-01 5:23"], ["Jill", "12-02 1:28"]]
record_dict = defaultdict(list)
# then iter the list group all date time.
for data in mylist:
_, time = data
date_time, _ = time.split(" ")
record_dict[date_time].append(data)
res_list = list(record_dict.values())
print(res_list)
Run Code Online (Sandbox Code Playgroud)
输出:
[[['Bob', '12-01 2:30'], ['Sal', '12-01 5:23']], [['Jill', '12-02 1:28']]]
| 归档时间: |
|
| 查看次数: |
965 次 |
| 最近记录: |