元组和嵌套列表

时间:2013-12-13 12:42:27

标签: python python-2.7

x =[(34, 55), (1, 75), (5, 36), (1, 49), (1, 186), [(3, 47), (131, 167)], (7, 434)]

y= [(77, 98), (109, 183), (77, 108), (1, 49), (1, 185), [(45, 78), (45, 84)], (3, 429)]

我想从上面的列表中获得以下内容。

    q:34-55    h:77-98

    q:1-75     h:109-183

    q:5-36     h:77-108

    q:1-49     h:1-49

    q:1-186    h:1-185

    q:3-47     h:45-78    q:131-167    h:45, 84

    q:7-434    h:3-429

有关如何完成任务的任何建议?提前致谢

我尝试了以下内容:

 for i in x:
     if type(i) != list:
         print "q:%d-%d" % (i[0], i[1]) 
q:34-55
q:1-75
q:5-36
q:1-49
q:1-186
q:7-434

1 个答案:

答案 0 :(得分:3)

试试这个:

x =[(34, 55), (1, 75), (5, 36), (1, 49), (1, 186), [(3, 47), (131, 167)], (7, 434)]
y= [(77, 98), (109, 183), (77, 108), (1, 49), (1, 185), [(45, 78), (45, 84)], (3, 429)]

tmpl = "\tq: {0}\th: {1}"

for q, h in zip(x, y):
    if isinstance(q, list):
        for q2, h2 in zip(q, h):
            print tmpl.format(q2, h2),
        print
    else:
        print tmpl.format(q, h)