一个 Python 关于列表(List)练习题求解

编写一个可以转换列表维数的函数,例如,输入列表[ [1,2,3,4],[4,5,6,7] ],函数返回列表[[1,4],[2,5],[3,6],[4,7] ],输入列表[ ['22','33','44'],['32','43','54'] ],函数返回[ ['22','32'],['33','43'],['44','54'] ]

def f(l):
    r =[]
    for i in zip(l[0], l[1]):
        r.append(list(i))
    return r


a = [ [1,2,3,4],[4,5,6,7] ]
b = [ ['22','33','44'],['32','43','54'] ]

print f(a)
print f(b)

追问

确实不错,但是要把[ [1,2,3,4],[4,5,6,7] ,[8,9,5,4]]处理成[[1,4,8],[2,5,9],[3,6,5],[4,7,4]]又得改函数,在zip(l[0],l[1])里面加l[2],能不能不管我列表还有几组结构相同的列表,函数都能帮我转换完成。

追答def f(l):
    r =[]
    for i in zip(*l):
        r.append(list(i))
    return r

a =[ [1,2,3,4],[4,5,6,7] ,[8,9,5,4], [1,1,1,1]]


print f(a)

温馨提示:答案为网友推荐,仅供参考
相似回答