Python:初始化并填充另一个列表列表中的列表列表

时间:2019-10-05 15:48:20

标签: python list indexing tuples enumerate

我在Python中有一个列表列表,其中包含一个元组 例如。

tuple_list = 
[ [(a1,b1), (a2,b2).......(a99, b99)]
  [(c1,d1), (c2,d2).......(c99, d99)]
  .
  .
  .
  [(y1,z1), (y2,z2).......(y99, z99)]]

我要初始化两个列表a_listb_list

a_list中,我希望它具有first index

中每个元组的tuple_list
a_list = 
 [ [a1, a2.......a99]
      [c1, c2.......c99]
      .
      .
      .
      [y1, y2.......y99]]

b_list必须具有second index

中每个元组的tuple_list
 [ [b1, b2.......b99]
      [d1, d2.......d99]
      .
      .
      .
      [z1, z2.......z99]]

我尝试过

a_list = [[]] * len(tuple_list )
    b_list = [[]] * len(tuple_list )

 for index, list in enumerate(tuple_list ):
        for index2,number in enumerate(list):
            a_list [index].append(number[0])
            b_list [index].append(number[1])

但是它给了我一些不同的答案。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以像这样使用列表推导来构建a_list和b_list

a_list = [[t[0] for t in row] for row in tuple_list]
b_list = [[t[1] for t in row] for row in tuple_list]