Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在元组列表上使用heap命令_Python_List_Tuples_Binary Heap - Fatal编程技术网

Python:在元组列表上使用heap命令

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

我试图理解Python的一些内置堆功能。当我传入一个元组列表时(或者更可能的是,我传入的列表不正确),这似乎不太合适。以下是我所拥有的:

myList = ( ('a', 1), ('b', 2) )
heapify(myList)
我得到的错误是

TypeError:堆参数必须是列表

我做错什么了吗?还有其他方法可以传递元组列表吗


谢谢

问题在于
myList
是一个元组。试试这个:

myList = [('a', 1), ('b', 2)]
heapify(myList)

如上所述,heapify将列表(myList)转换为堆。所以,如果你想使用heapify,你必须首先将所有内容转换成一个列表


谢谢你的回复,懒鬼。对一个不熟悉这门语言的人来说,错过这样的事情很容易。伯尔可能想记住的东西。谢谢。我将此用作了解二进制堆的参考,但我只是忽略了一个事实,即当我打算将数据结构创建为列表时,我的数据结构被实例化为元组。