[英]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.