簡體   English   中英

從嵌套列表構建元組

[英]Building tuples from nested lists

嗨,請問如何將嵌套列表中的元組附加到字典列表中,以形成新的元組列表,如下所示:

nde = [{'length': 0.35, 'modes': 'cw', 'type': '99', 'lanes': 9},
           {'length': 0.48, 'modes': 'cw', 'type': '99', 'lanes': 9},
           {'length': 0.88, 'modes': 'cw', 'type': '99', 'lanes': 9}]

dge = [[(1001, 7005),(3275, 8925)], [(1598,6009),(1001,14007)]]

如何將它們附加到格式化的結果:

rslt = [(1001, 7005, {'length': 0.35, 'modes': 'cw', 'type': '99', 'lanes': 9}... ]

我試過這個:

[(k1[0], k1[1], k2) for k1, k2 in zip(dge, nde)]

但它沒有給出理想的結果。 謝謝

您需要首先展平列表列表,然后使用zip

>>> from itertools import chain
>>> [(k1[0], k1[1], k2) for k1, k2 in zip(chain.from_iterable(dge), nde)]
[(1001, 7005, {'lanes': 9, 'length': 0.35, 'type': '99', 'modes': 'cw'}),
 (3275, 8925, {'lanes': 9, 'length': 0.48, 'type': '99', 'modes': 'cw'}),
 (1598, 6009, {'lanes': 9, 'length': 0.88, 'type': '99', 'modes': 'cw'})]

文檔: itertools.chain.from_iterable

你有嵌套列表,所以你應該在ziping之前展平它們:

import itertools
[(k1[0], k1[1], k2) for k1, k2 in zip(itertools.chain(*dge), nde)]

暫無
暫無

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

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