首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将python字典转换为逗号分隔键字符串和逗号分隔值字符串的优雅方法是什么?

将python字典转换为逗号分隔键字符串和逗号分隔值字符串的优雅方法是什么?
EN

Stack Overflow用户
提问于 2015-05-04 15:23:37
回答 3查看 27.6K关注 0票数 7

我有一本字典,如下:

代码语言:javascript
复制
dict={'a':'1','b':'2', 'c':'3'}

为了将其转换为逗号分隔键字符串key_string和逗号分隔值字符串val_string,我执行以下操作:-

代码语言:javascript
复制
key_list=[]
val_list=[]

 for key,value in dict.iteritems():
     key_list.append(key)
     val_list.append(value)

 key_string = ','.join(key_list)
 val_string = ','.join(val_list)

结果是

代码语言:javascript
复制
 key_string = "a,b,c"
 val_string = "1,2,3" 

有没有更有效/更优雅的方法来做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2015-05-04 15:26:25

使用str.join(iterable) (提示:不要将您的dict命名为dict):

代码语言:javascript
复制
d = {'a':'1', 'b':'2', 'c':'3'}
print(",".join(d.keys()))
print(",".join(d.values()))

输出:

代码语言:javascript
复制
c,a,b
3,1,2

请注意,字典没有顺序。因此,输出也没有任何可以依赖的顺序。

票数 14
EN

Stack Overflow用户

发布于 2015-05-04 15:27:23

你可以这样做:

代码语言:javascript
复制
key_string = ','.join(dict.keys()) 
val_string = ','.join(dict.values())
票数 2
EN

Stack Overflow用户

发布于 2019-06-10 00:41:05

使用相同的函数str.join(iterable),如果字典值不全是字符串,则使用list-comprehension shorthand

代码语言:javascript
复制
d = {'a': '1', 'b': 2, 'c': {'d': 3}, 'e': [4,5,6]}
print(",".join(d.keys()))
print(",".join([str(e) for e in d.values()]))

输出:

代码语言:javascript
复制
a,b,c,e
1,2,{'d': 3},[4, 5, 6]

如果你想要自定义格式,那么这就是一个优雅的抽象。用您的自定义格式化程序myFormatter(e)替换str(e)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30024695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档