python数据类型,如R中的2d命名列表

Posted

技术标签:

【中文标题】python数据类型,如R中的2d命名列表【英文标题】:python datatype like 2d named list in R 【发布时间】:2022-01-16 21:31:30 【问题描述】:

我现在正在将我的代码从 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 中使用字典或任何其他数据类型做类似的事情吗?

【问题讨论】:

这看起来像是 zip docs.python.org/3/library/functions.html#zip 的工作 【参考方案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]

【讨论】:

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

以上是关于python数据类型,如R中的2d命名列表的主要内容,如果未能解决你的问题,请参考以下文章

Python3-数据类型

Python中的数据类型和数据结构

Python3组合数据类型(元组列表集合字典)语法

如何将字典(或其他数据类型)添加到 Django 中的帐户

python数据类型

Python列表