如何将相同的子列表组合/合并到一个子列表中,并将不相同的部分附加到列表的末尾?在
例如,这些子列表中唯一的区别因素是周数和每个子列表末尾的计数。我希望每个唯一的“UserId”、“Amount”和“Email”只有一个子列表,并将不相同的部分附加到这个子列表中。在
更复杂的是,我希望“计数”的顺序应该是在哪一周之内。例如,下面您可以看到1代表第1周,10代表第2周,14代表第4周,而没有看到第3周。如果没有值,则改为追加0。在
lst = [
[
['UserID','Amount','Email','week1',1],
['UserID','Amount','Email','week4',14],
['UserID','Amount','Email','week2',10]
],
[
['UserID2','Amount','Email','week1',99],
['UserID2','Amount','Email','week2',10],
['UserID2','Amount','Email','week4',14]
]
]
Desired_List = [
['UserID','Amount','Email','week1',1,10,0,14],
['UserID2','Amount','Email','week1',99,10,0,14]
]
这会将它们组合起来生成结果,但对于缺少的几周,它不会置0:
^{pr2}$
你所要达到的目标可能不适合一条直线。在我的方法中,把下面列出的两个变量作为字典中的一个变量。在
现在,有了字典,创建一个周数序列。使用
str.format
并确定任何给定子列表int(max(seq[0][-1])[4:])
的最大周数,可以很容易地完成这项工作。在最后,使用
dict.get
,查找字典,对于任何缺少的键,将其默认为0
实施
输出
^{pr2}$相关问题 更多 >
编程相关推荐