列出整數我有一本字典,如:轉換字符串列表在Python
a={
'sig2/Bit 2': ['0', '0', '1'],
'sig1/Bit 1': ['1', '0', '1']
}
我想將它轉換喜歡:
a={
'sig2/Bit 2': [0, 0, 1],
'sig1/Bit 1': [1, 0, 1]
}
請幫助我。
列出整數我有一本字典,如:轉換字符串列表在Python
a={
'sig2/Bit 2': ['0', '0', '1'],
'sig1/Bit 1': ['1', '0', '1']
}
我想將它轉換喜歡:
a={
'sig2/Bit 2': [0, 0, 1],
'sig1/Bit 1': [1, 0, 1]
}
請幫助我。
我不會爲你提供完整的答案但如何做到這一點相當的指導。這裏是一個例子:
>>> d = ['0', '0', '1']
>>> print [int(i) for i in d]
[0,0,1]
希望這應該足以指導你弄清楚這一點。
提示:通過字典迭代和爲每個鍵/值對做到這一點。好運
for i in a.keys():
a[i] = [int(j) for j in a[i]]
可能有更好的方法,但這裏是一個。
for key in a:
a[key] = [int(x) for x in a[key]];
嘗試了這一點
In [54]: dict([(k, [int(x) for x in v]) for k,v in a.items()])
Out[54]: {'sig1/Bit 1': [1, 0, 1], 'sig2/Bit 2': [0, 0, 1]}
for key, strNumbers in a.iteritems():
a[key] = [int(n) for n in strNumbers]
你可以試試這個,
>>> a={
'sig2/Bit 2': ['0', '0', '1'],
'sig1/Bit 1': ['1', '0', '1']
}
>>> for i in a.keys():
a[i]=map(int,a[i])
輸出:
>>> print a
{'sig2/Bit 2': [0, 0, 1], 'sig1/Bit 1': [1, 0, 1]}
它是那麼容易,因爲:
a = {
'sig2/Bit 2': ['0', '0', '1'],
'sig1/Bit 1': ['1', '0', '1']
}
b = dict((x, map(int, y)) for x, y in a.iteritems())
UPDATE
對於上面的代碼,你可以使用字典理解最後一行:
b = {x: map(int, y) for x, y in a.iteritems()}
[轉換所有字符串在列表中INT](HTTP可能重複:// stackoverflow.com/questions/7368789/convert-all-strings-in-a-list-to-int) –