[英]converting list of string to list of integers in 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())
更新
對於上面代碼的最后一行,您可以使用dict理解:
b = {x: map(int, y) for x, y in a.iteritems()}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.