【问题标题】:Converting from list of tuples to list of lists of tuples [duplicate]从元组列表转换为元组列表列表[重复]
【发布时间】:2010-09-08 12:12:49
【问题描述】:

可能重复:
How do you split a list into evenly sized chunks in Python?

我有一个元组列表,每个元组有两个项目(元组的数量可能会有所不同)。

[(a, b), (c, d)...)]

我想将列表转换为嵌套的元组列表,以便每个嵌套列表包含 4 个元组,如果原始元组列表的数量不能被 4 整除,例如13 那么最终列表应该包含13的情况下的剩余量,1个元组。

[[(a, b), (c, d), (e, f), (g, h)], [(a, b), (c, d), (e, f), (g, h)]...]

我喜欢 python 的其中一个方面是用于在不同数据结构之间进行转换的方法和构造,我希望对于这个问题可能有这样的方法或构造,它比我想出的更 Pythonic。

    image_thumb_pairs = [(a, b), (c, d), (e, f), (g, h), (i, j)]
    row = []
    rows = []
    for i, image in enumerate(image_thumb_pairs):
        row.append(image)
        if(i+1) % 4 == 0:
            rows.append(row)
            row = []
    if row:
        rows.append(row) 

【问题讨论】:

    标签: python


    【解决方案1】:
    >>> lst = [(1,2), (3,4), (5,6), (7,8), (9,10), (11,12), (13, 14), (15, 16), (17, 18)]
    >>> [lst[i:i+4] for i in xrange(0, len(lst), 4)]
    [[(1, 2), (3, 4), (5, 6), (7, 8)], [(9, 10), (11, 12), (13, 14), (15, 16)], [(17, 18)]]
    

    【讨论】:

      猜你喜欢
      • 2017-03-24
      • 1970-01-01
      • 2017-09-10
      • 2018-02-08
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多