【问题标题】:python datatype like 2d named list in Rpython数据类型,如R中的2d命名列表
【发布时间】:2025-11-26 08:45:01
【问题描述】:

我现在正在将我的代码从 R 移植到 python。列表数据类型在 R 中有一个非常有用的属性,我想知道我是否可以在 python 中做同样的事情。 如果我有以下命名列表:

named_list <- list(
  first_item = list(1, 2, 3),
  second_item = list(4, 5, 6)
)

我可以用 purrr 库“转置”它。 (即使有巨大的数据集也非常快)

transposed_list <- purrr::transpose(.l = named_list)

并返回以下列表,它的第一维包含所有索引,第二维包含名称。

我们可以在 python 中使用字典或任何其他数据类型做类似的事情吗?

【问题讨论】:

标签: python r list dictionary


【解决方案1】:

您可以使用zip*splat 对python 中的列表执行相同的操作

>>> list_ = [[1,2,3],[4,5,6]]
>>> zip(*list_)
[(1, 4), (2, 5), (3, 6)]

请注意,您得到的是元组而不是列表。如果您需要这些列表,请使用map(list, zip(*l))

如果您愿意使用 numpy 而不是列表列表,那么使用 .T 属性会更容易:

>>> import numpy as np
>>> a = np.array([[1,2,3],[4,5,6]])
>>> print(*a)
[1 2 3] [4 5 6]
>>> print(*a.T)
[1 4] [2 5] [3 6]

【讨论】:

  • 如果此答案对您有所帮助,请将其标记为已接受。干杯!