Python不使用超长列表运行
嗨,我有一个里面有15205个变量的列表,我试图找到每个变量的相对频率,但是python的响应没有这么大。 如果我尝试len(list),它可以工作,但是max(list)在'list'和'int'实例之间给我'>'不受支持,set(list)给我'type'对象是不可说出的。如果我尝试将其作为数据帧使用,它会给我TypeError:unhabable type:“list” 另外,如果我使用列表中的一个小样本,一切正常 有人能解释一下为什么会发生这种情况,我该如何解决Python不使用超长列表运行,python,list,dataframe,Python,List,Dataframe,嗨,我有一个里面有15205个变量的列表,我试图找到每个变量的相对频率,但是python的响应没有这么大。 如果我尝试len(list),它可以工作,但是max(list)在'list'和'int'实例之间给我'>'不受支持,set(list)给我'type'对象是不可说出的。如果我尝试将其作为数据帧使用,它会给我TypeError:unhabable type:“list” 另外,如果我使用列表中的一个小样本,一切正常 有人能解释一下为什么会发生这种情况,我该如何解决 谢谢首先,您不应该将列表
谢谢首先,您不应该将列表命名为“list”,因为这是Python中引用该类型的保留字。这是“设置(列表)”错误的根源
至于另一个错误,列表中至少有一个项目本身就是一个列表,您无法比较列表和整数的大小 首先,您不应该将列表命名为“list”,因为这是Python中引用该类型的保留字。这是“设置(列表)”错误的根源
至于另一个错误,列表中至少有一个项目本身就是一个列表,您无法比较列表和整数的大小 问题不在于列表的长度,15000很小,但它同时包含整数和列表,因此无法排序。听起来您的列表是
int
和其他list
值的混合体,例如[[1,2],3]
。计算此列表的最大值需要将[1,2]
与3
进行比较。使用max()
时会出现此错误,因为它不适用于具有多个对象类型的列表<如果列表包含列表元素,则代码>集()将不起作用,因为集合不能包含不可损坏的列表。如果要计算它,请将所有内部列表转换为,并将可变类型转换为不可变表示(例如:元组)collections.Counter
是一种很好的快速方法。请使用一些示例代码更新您的问题,以演示您看到的问题。如果您关心的是即使使用子列表也能获得最大值,那么一种简单的方法就是max(展平(lst))
,其中,lst
是您的列表,flatte
是发布用于展平列表的众多展平函数之一。问题不在于列表的长度,15000很小,但它同时包含整数和列表,因此无法排序。听起来您的列表是int
和其他list
值的混合体,比如像[[1,2],3]
。计算此列表的最大值需要将[1,2]
与3
进行比较。使用max()
时会出现此错误,因为它不适用于具有多个对象类型的列表<如果列表包含列表元素,则代码>集()将不起作用,因为集合不能包含不可损坏的列表。如果要计算它,请将所有内部列表转换为,并将可变类型转换为不可变表示(例如:元组)collections.Counter
是一种很好的快速方法。请使用一些示例代码更新您的问题,以演示您看到的问题。如果您关心的是即使使用子列表也能获得最大值,那么一种简单的方法就是max(展平(lst))
,其中,lst
是您的列表,flatte
是发布用于展平列表的众多展平函数之一。