【发布时间】:2019-10-12 07:46:14
【问题描述】:
我正在编写一个代码,它返回公交路线中最常见的公交站号(来自 csv 文件)。每行“bus_routes.csv”的第一个条目是路线名称,其余条目是公交车站号。
def most_common_number(routes):
routes = load_routes('bus_routes.csv')
bus_stop_ID = [col[1:] for col in routes]
return max(sum(set((bus_stop_ID, []), key = sum(bus_stop_ID, []).count)
当我运行这段代码时,它返回一个错误; TypeError:只能将列表(不是“元组”)连接到列表 type(bus_stop_number) 是一个列表,所以我在最后一个代码中找不到元组的位置。
【问题讨论】:
-
你可能需要
collections.Counter和most_common来代替你的代码,这听起来像可怕的复杂性。但我们没有你的数据。一个小样本会比我们没有的 csv 文件好得多 -
你有多少列? col[1:] 可能会返回一个元组。单独打印并验证。然后像 Jean 说的那样使用 collections.Counter。
-
这显然不是你的实际代码;
set不接受key参数(或任何关键字参数),并且括号不平衡。
标签: python list data-structures tuples counter