簡體   English   中英

將字符串列表轉換為python中的整數列表

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

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