如何将负整数转换为数组中的单个数字?像这样...
x = -3987
arr = [-3,9,8,7]
我尝试执行此操作,但出现错误。
ValueError: invalid literal for int() with base 10: '-'
x = [int(i) for i in str(x)]
答案 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)))