Python整数到列表中

时间:2017-03-20 17:14:43

标签: python list variables integer

我使用以下代码将一个整数分解为多个位并存储在一个列表中。

我希望它使用先前在代码中输入的变量的内容而不是12345。但我似乎无法让它在变量上工作。有什么建议?

function mySplitStr(str) {  
  var inFunction = 0;
  str = str.trim().replace(/\s+/g,' ');
  str.split('').forEach((chr, ix)=>{
    chr == '(' || inFunction++;
    chr == ')' || inFunction--; 
    if ((chr == ' ') && (!inFunction))
      str = str.substr(0, ix) + '|' + str.substr(ix + 1);
  });
  return str.split('|');
}

var str = "  first.getage()  person.getinfo( tow.fff(one) , data ) car.getcompany fff " ;
console.log(mySplitStr(str));

2 个答案:

答案 0 :(得分:2)

使用map(Python 2.7):

digits = map(int, str(12345))

如果您使用的是像digits 这样的Python 3.x,则强制list评估digits = list(map...)

或列表推导:

digits = [int(digit) for digit in str(12345)]

for循环:

digits = []
for digit in str(12345):
    digits.append(int(digit))

我假设您希望将每个数字作为整数存储在结果列表中。否则,您只需取出int()电话。

答案 1 :(得分:1)

假设您想将数字拆分为 数字 ,而不是位,您可以选择许多非常简单的解决方案。一些例子:

方法1:映射数字

number = 12345
digits = list(map(int,str(number)))
print(digits) # prints [1, 2, 3, 4, 5]

方法2:遍历数字

number = 12345
digits = []
for digit in str(number):
     digits.append(int(digit))

方法3:复制数字,将剩余部分除以10,然后除以10

number = 12345
number2 = number
digits = []
while number2 > 0:
    digits.insert(0,int(number2) % 10)
    number2 /= 10
print(digits)