我正在做一些python的家庭作业,我被要求定义一个函数,它接受一个字典,将公交线路映射到公交车站,并返回一个字典,将公交车站映射到停靠在该车站的公交线路列表。输入如下:
{"Lentil": ["Chinook", "Orchard", "Valley", "Emerald","Providence",
"Stadium", "Main", "Arbor", "Sunnyside", "Fountain", "Crestview",
"Wheatland", "Walmart", "Bishop", "Derby", "Dilke"],
"Wheat": ["Chinook", "Orchard", "Valley", "Maple","Aspen", "TerreView",
"Clay", "Dismores", "Martin", "Bishop", "Walmart", "PorchLight",
"Campus"]}
我需要以某种方式将这些值做成键,同时检查这些值是否也是任何其他键中的值。基本上,我很难弄清楚如何访问这些值并使它们成为新的键(没有重复项),而不必对它们进行硬编码。你知道吗
如果使用Dictionary和List Comprehension,这实际上非常简单。您可以在一行中获得所需的输出。你知道吗
可读性更强但理解力更强
输出:
如果我正确理解了这个问题,你想沿着路线找到站点,那里有同一辆巴士到访的站点,基本上是找到巴士路线的重复。你知道吗
请看下面的代码。你知道吗
我们用
bus_routes.items()
迭代得到一个变量(y
),其中x
是路由名,y
是停止名列表。然后,我们用y
创建另一个迭代,并尝试查看具有该停止名称的键是否已经存在于route_dup
中,如果它不存在,它将捕获KeyError
,并使用列表中路由名称的值创建它,但是,如果该键确实存在,我们可以放心地说它将访问我们已经创建的列表,因此append()
,使用下一个路由名称。你知道吗希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐