我需要将收到的IronPython字典变量转换为常规Python字典。根据我的理解,变量是所谓的:
'System.Collections.Generic.Dictionary`2[System.String,System.String]'
如果我使用:
for each in IronDictionary:
print type(each)
print each
我得到了:
type: '<class 'System.Collections.Generic.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'>'
'[MultiProcess, False]' # this line is a result of `print each` command
所以在本质上each
就像一个普通的Python列表......
如果我能将整个Iron字典转换为普通的Python字典,那将是很棒的。如果不可能,我不介意使用for each in IronDict:
进行迭代并将每个Iron each
转换为常规Python列表或Python字符串?...如何正确完成此操作?
答案 0 :(得分:4)
我只能怀疑你的要求。 假设你的字典使用字符串作为键和值,如果你想从clr one创建python字典,请尝试:
pythondict = dict(clrdict)
反方向:
from System.Collections.Generic import Dictionary
clrdict = Dictionary[str,str](pythondict)
您也可以尝试按原样使用它而不进行转换。 你能说明为什么需要转换吗?
编辑: 这是一个有效的例子:
from System.Collections.Generic import Dictionary
clrdict = Dictionary[str,str]()
clrdict.Add('k1','v1')
clrdict.Add('k2','v2')
pythondict=dict(clrdict)
print clrdict
print type(clrdict)
print pythondict
print type(pythondict)
产生:
Dictionary[str, str]({'k1' : 'v1', 'k2' : 'v2'})
<type 'Dictionary[str, str]'>
{'k2': 'v2', 'k1': 'v1'}
<type 'dict'>