因此,我尝试将浮点数作为Python列表中的元素使用,但我不断收到此错误。我尝试将每个值设置为字符串,然后在调用数组进行打印时将其转换为浮点数,但这似乎也不起作用
P1 = [45.100000, ‐65.400000]
print(P1[0])
SyntaxError: invalid character in identifier
尝试#2
P1 = ["45.100000", "‐65.400000"]
print(float(P1[1]))
ValueError: could not convert string to float: '‐65.400000'
我觉得问题与第二个元素(@索引1)前面的负值有关
答案 0 :(得分:2)
您使用的连字符存在问题。如果将连字符剪切并粘贴到列表p1
中,然后检查unicode,则会显示:
>>> ord('‐')
8208
鉴于正确的负号或减号应为:
>>> ord('-')
45
根据获得该列表的方式,您必须弄清楚为什么包含该字符,或者使用适当的Hyphen-Minus
重新键入它
答案 1 :(得分:1)
我复制了您的代码并运行了它,我所要做的就是替换“-”,好像您使用的是错误字符。试试这个;
P1 = [45.100000, -65.400000]
答案 2 :(得分:1)
这是因为您的obj[key[0]][key[1]]
不是减号而是连字符:
-
>>> "‐65.400000".encode('utf-8') # copy from your example
b'\xe2\x80\x9065.400000'
>>> "-65.400000".encode('utf-8') # Replace with my minus
b'-65.400000'
是连字符,请参见here:您的连字符为\xe2\x80\x90
,而连字符减号为U+2010