簡體   English   中英

如何在 Python 中外連接列表列表?

[英]How to outer join list of lists in Python?

我有兩個 Python 列表列表,我想將它們連接在一起。 結構和期望的結果如下:

ListofLists1 = [['20200701', DF_x1], ['20200702', DF_x2], ...]
ListofLists2 = [['20200702', DF_y2], ['20200704', DF_y4], ...]
ListofLists3 = [['20200702', DF_z2], ['20200707', DF_z7], ...]
ListofLists4 = [['20200702', DF_a2], ['20200704', DF_a4], ...]

DesiredList = [['20200701', DF_x1, ''   , ''   , ''   ], 
               ['20200702', DF_x2, DF_y2, DF_z2, DF_a2], 
               ['20200704', ''   , DF_y4, DF_z4, ''   ], 
               ['20200707', ''   , ''   , ''   , DF_a7]] 

如您所見,原始列表的每個元素都包含一個日期和一個數據框。 我希望合並這些列表,以便一個日期與該日期的所有可用數據框相對應。 每個子列表包含 3 個元素。 這需要是一個外連接,因為每個列表列表都包含另一個沒有的元素。

首先使用第一個列表中的值創建一個字典,然后使用第二個列表中的值更新它:

d = {l[0]: [l[1], ''] for l in ListofLists1}

for l in ListofLists2:
    d.setdefault(l[0], ['', ''])[1] = l[1]

如果需要,將字典轉換回列表:

joined_list = [[k, *v] for k, v in d.items()]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM