繁体   English   中英

字符串的负数。 Python

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM