小编Shc*_*mna的帖子

如何转置列表列表?

ll为列表的列表,tt元组的元组

输入:ll =[["a1","a2"],["b1","b2"],["c1","c2"]]

期望的输出: tt =(("a1","b1","c1"),("a2","b2","c2"))

我已经设法解决了一个二元素列表的问题,这意味着内部列表每个只包含两个元素。

def list_of_list_to_tuple_of_tuple(ll):
    first_elements = [i[0] for i in ll]
    second_elements = [i[1] for i in ll]
    
    new_list = []
    new_list.append(tuple(first_elements))
    new_list.append(tuple(second_elements))
    return tuple(new_list)

ll = [["a1","a2"],["b1","b2"],["c1","c2"]]
list_of_list_to_tuple_of_tuple(ll)
Run Code Online (Sandbox Code Playgroud)

现在,问题是:

  1. 有没有其他方法可以轻松完成我所做的事情?

  2. 如果我们有一个包含3 个内部列表且每个内部列表包含 n 个元素的列表,是否有任何方法可以轻松推广该算法?例如:

输入: ll =[["a1","a2","a3",..."an"],["b1","b2","b3",..."bn"],["c1","c2","c3",..."cn"]]

期望的输出: tt =(("a1","b1","c1"),("a2","b2","c2"),("a3","b3","c3"),...,("an","bn","cn"))

python transpose tuples list nested-lists

3
推荐指数
1
解决办法
569
查看次数

标签 统计

list ×1

nested-lists ×1

python ×1

transpose ×1

tuples ×1