2010-09-08 122 views
1
的名单

可能重复:
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的我喜欢的东西是不同的数据结构之间的转换,我希望有可能是这样的方法或构建这一问题,这将是更Python那么什么㈣来的方法和构建与...一起。

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) 

回答

2
>>> 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)]]