Python 可以将不同的数据类型存储在列表或链表中

Posted

技术标签:

【中文标题】Python 可以将不同的数据类型存储在列表或链表中【英文标题】:Python can store different data types in a list or linkedlist 【发布时间】:2021-08-16 07:11:23 【问题描述】:

Python 可以在一个列表中存储多种数据类型的对象,而我们不能对 Java 和 C++ 做同样的事情。 python 使用哪些附加功能来做到这一点?并且我们可以从那里研究相同的内容。

【问题讨论】:

【参考方案1】:

公平地说,您可以在 Java 中做同样的事情。只是你需要一个更通用的类型。

例如,

在python中你可以写

array = []
array.append(1)
array.append("hi")

Java 中的等效代码是:

List<Object> list = new ArrayList<>();
list.add(1);
list.add("hii");

这两段代码在功能上是等价的,但是在 Java 中,当我们从列表中获取时,我们需要转换为我们想要的类型。在 Python 中,类型是在运行时推断出来的,因此我们不必进行任何显式转换。

Python 是一种完全面向对象的语言,并且也是动态类型的。所以 Python 中的大多数东西的行为方式都是一样的。 Maps、Sets 和更复杂的数据结构允许您轻松混合值类型。只要实现了正确的合同,即使是集合的关键类型也可以是不同数据类型的混合。要了解有关 python 类型系统的更多信息,请看这里; https://blog.daftcode.pl/first-steps-with-python-type-system-30e4296722af

【讨论】:

【参考方案2】:

我认为 Python 中的所有内容都被视为一个对象,当我们在 Python 中存储数据时,我们基本上是在存储数据的引用。这可能是原因。

【讨论】:

以上是关于Python 可以将不同的数据类型存储在列表或链表中的主要内容,如果未能解决你的问题,请参考以下文章

基于数组或链表实现Map

线性表和链表

链表是否线性表

单链表

异或链表(XOR Linked List)

C++ stl 集合或链表