📅  最后修改于: 2023-12-03 15:34:08.628000             🧑  作者: Mango
在Python中,我们可以使用字典(dictionary)数据结构来存储键值对。有时我们需要将键按照某种规则分组后,将对应的值存储到列表中。
下面是一个示例字典,其中包含了一些城市和它们所属的国家。
cities = {
"New York": "USA",
"London": "UK",
"Paris": "France",
"Beijing": "China",
"Tokyo": "Japan",
"Sydney": "Australia",
"Toronto": "Canada",
"Berlin": "Germany"
}
现在我们想要将这些城市按照它们所属的国家进行分组,并将对应的城市存储到列表中。可以使用Python的defaultdict
来实现这样的功能。
from collections import defaultdict
cities_by_country = defaultdict(list)
for city, country in cities.items():
cities_by_country[country].append(city)
这里我们将一个空列表作为默认值传递给defaultdict
。在循环中,我们首先使用items()
方法遍历字典的键值对,然后使用defaultdict
的键访问列表,并向其中添加城市名。
现在让我们打印输出结果并看看将键分组到值列表的效果。
for country, cities in cities_by_country.items():
print(f"{country}: {cities}")
输出结果如下:
USA: ['New York']
UK: ['London']
France: ['Paris']
China: ['Beijing']
Japan: ['Tokyo']
Australia: ['Sydney']
Canada: ['Toronto']
Germany: ['Berlin']
可以看到,我们成功地将城市按照它们所属的国家进行了分组。
使用defaultdict
可以轻松地将键分组到值列表。上面的示例只是其中的一种简单方式,实际上可以根据实际需求来进行更复杂的分组操作。