Python中优雅的字典技巧总结

图片[1]-Python中优雅的字典技巧总结-山海云端论坛

引言

在日常工作中,我们经常需要进行字典的相关操作。对于某些初学者,经常会写一堆繁琐的代码来实现某项简单的功能。本篇文章重点介绍一些在Python中关于字典的简单技巧,熟练掌握这些技巧可以极大提升工作效率。

使用union操作合并字典

在Python 3.9之后,我们可以使用union操作来合并字典,如下所示:

<code>cities_us = {'New York City': 'US', 'Los Angeles': 'US'} cities_uk = {'London': 'UK', 'Birmingham': 'UK'} cities = cities_us | cities_uk print(cities) # {'New York City': 'US', 'Los Angeles': 'US', 'London': 'UK', 'Birmingham': 'UK'}</code>

使用解包操作合并字典

如果使用的是Python 3.9以下的版本,可以使用解包操作来合并字典,示例如下:

<code>cities_1 = {'New York City': 'US', 'Los Angeles': 'US'} cities_2 = {'London': 'UK', 'Birmingham': 'UK'} cities = {**cities_1, **cities_2} print(cities) # {'New York City': 'US', 'Los Angeles': 'US', 'London': 'UK', 'Birmingham': 'UK'}</code>

使用字典生成式

字典生成式是创建字典的一种简便的方法,如下所示:

<code>cities = ['London', 'New York', 'Tokyo', 'Cambridge', 'Oxford'] countries = ['UK', 'US', 'Japan', 'UK', 'UK'] uk_cities = {city: country for city, country in zip(cities, countries) if country == 'UK'} print(uk_cities) # {'London': 'UK', 'Cambridge': 'UK', 'Oxford': 'UK'}</code>

字典中key-value互换

可以使用字典推导式或zip函数来实现字典中key-value互换,示例如下:

<code>cities = {'London': 'UK', 'Tokyo': 'Japan', 'New York': 'US'} # 方案一 reversed_cities = {v: k for k, v in cities.items()} print(reversed_cities) # {'UK': 'London', 'Japan': 'Tokyo', 'US': 'New York'} # 方案二 reversed_cities = dict(zip(cities.values(), cities.keys())) print(reversed_cities)</code>

列表转为字典

可以使用dict函数或dict.fromkeys方法将列表转化为字典,示例如下:

<code># 方案一 cities = [('London', 'UK'), ('New York', 'US'), ('Tokyo', 'Japan')] d_cities = dict(cities) print(d_cities) # {'London': 'UK', 'New York': 'US', 'Tokyo': 'Japan'} # 方案二 cities = ['London', 'Leeds', 'Birmingham'] d_cities = dict.fromkeys(cities, 'UK') # 设置默认值为'UK' print(d_cities) # {'London': 'UK', 'Leeds': 'UK', 'Birmingham': 'UK'}</code>

字典按照value来排序

可以使用sorted函数对字典按照value排序,示例如下:

<code>cities = {'London': '2', 'Tokyo': '3', 'New York': '1'} print(sorted(cities.items(), key=lambda d: d[1])) # [('New York', '1'), ('London', '2'), ('Tokyo', '3')]</code>

使用Counter

使用Counter对象可以快速统计字符出现次数,示例如下:

<code>from collections import Counter city = "Yang Zhou" chars = Counter(city) print(chars) # Counter({'Y': 1, 'a': 1, 'n': 1, 'g': 1, ' ': 1, 'Z': 1, 'h': 1, 'o': 1, 'u': 1})</code>

总结

本文介绍了Python中字典操作的相关技巧,并提供了相应的示例和代码实现。掌握这些技巧能够使我们的代码更加简洁高效。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容