[英]Negative number to a string. Python
如何将负整数转换为数组中的单个数字? 像这样的东西...
x = -3987
arr = [-3,9,8,7]
我尝试这样做,但出现错误。
ValueError: invalid literal for int() with base 10: '-'
x = [int(i) for i in str(x)]
这是我将如何处理它。 @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]
列表理解在这里有效
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]
尝试这个,
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)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.