【发布时间】:2018-02-20 19:58:22
【问题描述】:
我想测试一个字符串是否有一个负前导字符,如果True,则删除该字符。
我试过了:
value_a = "-50.1342"
temp_a = value_a.split(".") #needed for other purposes
if temp_a[0].startswith('-'):
del temp_a[0]
print temp_a
结果是一个空的 []。 可能是什么原因...?
【问题讨论】:
-
无法重现。我得到
['1342'] -
您正在删除列表,这就是它为空的原因。尝试用''替换'-'
-
您正在删除列表的整个第一个元素。我认为您打算执行
del temp_a[0][0],但这会导致错误,因为字符串是不可变的。将该行改为temp_a[0] = temp_a[0][1:]。 More on python's slice notation. -
你有什么理由缩进 if 吗?
-
你也可以
temp_a = str(abs(float(value_a)))
标签: python string negative-number