Python:如何在列表和字典之间创建公共元素

2023-11-29

我对 python 中的数据结构很陌生,想知道如何在 python 中模拟指针之类的东西,以便多个结构可以引用和管理同一条数据。

我有以下两个结构

my_list = [1]
my_dictionary = {}
my_dictionary["hello"] = my_list[0]

当我执行以下操作时,我得到了 True

 id(my_dictionary["hello"]) == my_list[0]

然而,我怎样才能一次性从字典和列表中强制删除呢? 如果我执行以下操作, my_dictionary 仍然引用 my_list[0] 即 1

del my_list[0]

有没有办法一次性摆脱这两个元素? python 中做这样的链接结构的方法是什么?


这实际上取决于您试图通过交叉引用解决的问题。


假设您的意图是能够通过键有效地定位项目,并按顺序顺序迭代。在这种情况下,无论使用哪种语言,您可能希望避免交叉引用哈希表和数组数据结构,因为更新本质上是线性的。相反,交叉引用哈希表和list可能更有意义。

为此,您可以使用类似的东西llist:

 d = {}
 l = llist.dllist()

 # insert 'foo' and obtain the link
 lnk = l.append('foo')
 # insert the link to the dictionary
 d['foo'] = lnk

相反,假设您的意图是能够有效地通过键定位项目以及通过索引定位。然后您可以使用字典和列表,并在每次修改字典时重建列表。没有真正的理由进行花哨的交叉引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如何在列表和字典之间创建公共元素 的相关文章

随机推荐