Python:在元组列表上使用heap命令
我试图理解Python的一些内置堆功能。当我传入一个元组列表时(或者更可能的是,我传入的列表不正确),这似乎不太合适。以下是我所拥有的:Python:在元组列表上使用heap命令,python,list,tuples,binary-heap,Python,List,Tuples,Binary Heap,我试图理解Python的一些内置堆功能。当我传入一个元组列表时(或者更可能的是,我传入的列表不正确),这似乎不太合适。以下是我所拥有的: myList = ( ('a', 1), ('b', 2) ) heapify(myList) 我得到的错误是 TypeError:堆参数必须是列表 我做错什么了吗?还有其他方法可以传递元组列表吗 谢谢 问题在于myList是一个元组。试试这个: myList = [('a', 1), ('b', 2)] heapify(myList) 如上所述,heap
myList = ( ('a', 1), ('b', 2) )
heapify(myList)
我得到的错误是
TypeError:堆参数必须是列表
我做错什么了吗?还有其他方法可以传递元组列表吗
谢谢 问题在于
myList
是一个元组。试试这个:
myList = [('a', 1), ('b', 2)]
heapify(myList)
如上所述,heapify将列表(myList)转换为堆。所以,如果你想使用heapify,你必须首先将所有内容转换成一个列表
谢谢你的回复,懒鬼。对一个不熟悉这门语言的人来说,错过这样的事情很容易。伯尔可能想记住的东西。谢谢。我将此用作了解二进制堆的参考,但我只是忽略了一个事实,即当我打算将数据结构创建为列表时,我的数据结构被实例化为元组。