我使用以下代码将一个整数分解为多个位并存储在一个列表中。
我希望它使用先前在代码中输入的变量的内容而不是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));
答案 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)
假设您想将数字拆分为 数字 ,而不是位,您可以选择许多非常简单的解决方案。一些例子:
number = 12345
digits = list(map(int,str(number)))
print(digits) # prints [1, 2, 3, 4, 5]
number = 12345
digits = []
for digit in str(number):
digits.append(int(digit))
number = 12345
number2 = number
digits = []
while number2 > 0:
digits.insert(0,int(number2) % 10)
number2 /= 10
print(digits)