簡體   English   中英

Python字典與對象到字符串與字符串

[英]Python dictionary with objects into dictionary with strings

我有字典對象值和字符串鍵:

dict{
'key1': object_1
'key2': object_2
}

我想將其轉換為:

dict{
'key1': str(object_1)
'key2': str(object_2)
}

其中str(object_1)是object_1的字符串表示形式。 執行此轉換的最簡單,最pythonic的方法是什么?

dict((k, str(v)) for k, v in d.iteritems())

或者在Python2.7 +中:

{k: str(v) for k, v in d.items()}

對於更復雜的dicts(以對象元組作為值):

dict((k, tuple(str(x) for x in v)) for k, v in d.iteritems())

{k: tuple(str(x) for x in v) for k, v in d.items()}

eurimo說了什么,或者如果你不想復制:

for k in d:
   d[k] = str(d[k])

使用字典理解:

{ k : str(v) for k, v in d.iteritems() }

以上內容適用於Python 2.7+,它將使用生成器生成新字典。 對於Python 3,這將類似地工作:

{ k : str(v) for k, v in d.items() }

以下Python for循環應該可以解決您的問題。

for item in d.keys():
   d[item]=str(d[item])

您也可以使用它來實現它,而無需使用任何內置的字典方法:

x = {z:str(x [z])for x in x}

我必須做一些與你的問題類似的事情,但我認為我的解決方案有點長。

new_dict=dict([(item[0],str(item[1])) for item in d.items()])

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM