字符串的负数。蟒蛇

时间:2020-11-10 04:34:41

标签: python python-3.x

如何将负整数转换为数组中的单个数字?像这样...

x = -3987
arr = [-3,9,8,7]

我尝试执行此操作,但出现错误。

ValueError: invalid literal for int() with base 10: '-'
x = [int(i) for i in str(x)]

3 个答案:

答案 0 :(得分:1)

这就是我要处理的方式。答案已经由@Fuledbyramen提供。

x = -3987
#arr = [-3,9,8,7]

if x < 0:
     arr = [int(i) for i in str(x)[1:]]
     arr[0] *= -1
else:
    arr = [int(i) for i in str(x)]

print (arr)

其输出将是:

[-3,9,8,7]

如果x的值为3987

x = 3987

然后输出将是:

[3,9,8,7]

答案 1 :(得分:0)

列表理解在这里有效

x = -3987
xs = str(x)

lst = [int(d) for d in (([xs[:2]]+list(xs[2:])) if xs[0]=='-' else xs)]

print(lst)

输出

[-3, 9, 8, 7]

答案 2 :(得分:0)

尝试一下,

input_number = +223
res_digits = list(str(input_number))

if res_digits[0] == '-':
    res_digits[0] = res_digits[0] + res_digits[1]
    res_digits.pop(1)
elif res_digits[0] == '+':
    res_digits.pop(0)

print(list(map(int, res_digits)))