繁体   English   中英

Python从列表列表中创建列表列表

[英]Python make a list of lists from a list of lists

我该怎么做呢?

以下是我的清单清单

[[0.0, 0.5884873389626358, 0.6396995276767564, 0.7329666273317014, 0.4842313879485761, 1.0], [0.0, 0.3198112142984678, 0.688061628145554, 0.9057703742992778, 0.4510016620800218, 1.0], [0.0, 0.8174664500409363, 0.6534818573661288, 0.7434609459640676, 0.625429283659689, 1.0], [0.0, 0.6671642766717503, 0.019976903098259637, 0.8374816423664811, 0.38608275062838593, 1.0], [0.17795385258743912, 0.32139709168355723, 0.0, 0.016863091072428376, 0.1259237700382603, 1.0], [0.0677184881194031, 1.0, 0.27760511005151, 0.0, 0.9794600361121459]]

我想创建一个新的列表列表,每个新的子列表对应于第一个列表列表中的值位置。

因此,新列表列表中的前两个子列表为:

[[0.0, 0.0, 0.0, 0.0, 0.17795385258743912, 0.0677184881194031], [0.5884873389626358, 0.3198112142984678, 0.8174664500409363, 0.6671642766717503, 0.32139709168355723, 1.0]]

我需要它,所以无论第一个列表有多大,它仍然可以将其计算到新的列表列表中。

对于上下文,im将列表的csv列列表转换为列表的行列表。

要获得新的列表列表,可以对zip使用另一个列表理解:

x = [list(items) for items in zip(*a)]
print (x)

#[[0.0, 0.0, 0.0, 0.0, 0.17795385258743912, 0.0677184881194031], [0.5884873389626358, 0.3198112142984678, 0.8174664500409363, 0.6671642766717503, 0.32139709168355723, 1.0], [0.6396995276767564, 0.688061628145554, 0.6534818573661288, 0.019976903098259637, 0.0, 0.27760511005151], [0.7329666273317014, 0.9057703742992778, 0.7434609459640676, 0.8374816423664811, 0.016863091072428376, 0.0], [0.4842313879485761, 0.4510016620800218, 0.625429283659689, 0.38608275062838593, 0.1259237700382603, 0.9794600361121459]]

看起来您需要zip

data = [[0.0, 0.5884873389626358, 0.6396995276767564, 0.7329666273317014, 0.4842313879485761, 1.0], [0.0, 0.3198112142984678, 0.688061628145554, 0.9057703742992778, 0.4510016620800218, 1.0], [0.0, 0.8174664500409363, 0.6534818573661288, 0.7434609459640676, 0.625429283659689, 1.0], [0.0, 0.6671642766717503, 0.019976903098259637, 0.8374816423664811, 0.38608275062838593, 1.0], [0.17795385258743912, 0.32139709168355723, 0.0, 0.016863091072428376, 0.1259237700382603, 1.0], [0.0677184881194031, 1.0, 0.27760511005151, 0.0, 0.9794600361121459]]

print(list(zip(*data)))
#or print(list(map(list, zip(*data))))

输出:

(0.0, 0.0, 0.0, 0.0, 0.17795385258743912, 0.0677184881194031),
 (0.5884873389626358,
  0.3198112142984678,
  0.8174664500409363,
  0.6671642766717503,
  0.32139709168355723,
  1.0),
 (0.6396995276767564,
  0.688061628145554,
  0.6534818573661288,
  0.019976903098259637,
  0.0,
  0.27760511005151),
 (0.7329666273317014,
  0.9057703742992778,
  0.7434609459640676,
  0.8374816423664811,
  0.016863091072428376,
  0.0),
 (0.4842313879485761,
  0.4510016620800218,
  0.625429283659689,
  0.38608275062838593,
  0.1259237700382603,
  0.9794600361121459)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM