如何以Pythonic方式将指定字典转换为目标格式的字符串?
Pythonic方式实现字典到指定字符串的转换
当然可以!而且有好几种非常Pythonic的方式来完成这个转换,完全不用写繁琐的循环或者手动拼接字符串。我给你分享几个最简洁高效的写法:
生成器表达式 +
str.join()(最推荐)
这是最符合Python风格的写法,简洁又省内存:d = {'a':'Apple','b':'ball','c':'cat'} res = ','.join(f"{key}={value}" for key, value in d.items()) print(res) # 输出: a=Apple,b=ball,c=cat原理很简单:
d.items()遍历字典的每一对键值,用f-string把键值格式化成key=value的字符串,最后通过','.join()把所有格式化后的字符串用逗号连接起来。str.format()版本(兼容Python 3.8之前)
如果你还在使用Python 3.8之前的版本,f-string可能没那么普及,用str.format()也能达到同样效果:res = ','.join("{}={}".format(key, value) for key, value in d.items())列表推导式版本
虽然生成器表达式更省内存(不需要先创建完整的列表),但如果你习惯列表推导式,也可以这么写:res = ','.join([f"{key}={value}" for key, value in d.items()])
注意:Python 3.7及以上版本的字典默认是有序的,所以输出的顺序会和你定义字典时的顺序一致。如果是Python 3.6及更早版本,想要保证顺序的话,可以使用
collections.OrderedDict来创建有序字典。
内容的提问来源于stack exchange,提问作者Samresh Kumar Jha
相关产品推荐
相关产品推荐

