【发布时间】:2021-09-30 18:06:51
【问题描述】:
这不应该是一个难题,但我已经研究了将近一天!
我想创建一个必须采用以下格式的查询:'lat':'###','long':'###' 其中###s 代表纬度和经度。
我正在使用以下代码来生成查询:
coordinateslist=[]
for i in range(len(lat)):
coordinateslist.append("'lat':'{}','long':'-{}'".format(lat[i],lon[i]))
coordinateslist
但是结果会是一些类似的东西,它的开头和结尾都有“”:“'lat':'40.66','long':'-73.93'”
可笑的是,用 .replace 或 .strip! 删除 " 是不可能的,并且将这些术语包装在 repr 周围并不能解决问题。
你知道我怎样才能去掉那些双引号吗?
附:我知道当我打印命令时," 不会显示,但是当我在查询中使用数组的每个元素时," 将出现在查询的末尾,这会阻止它工作。
直接这样写:
query_params = {'lat':'43.57','long':'-116.56'}
工作得很好。
但使用以下任一代码都会导致错误。
aa=print(coordinateslist[0])
bb=coordinateslist[0]
query_params = {aa}
query_params = {bb}
query_params = aa
query_params = bb
【问题讨论】:
-
那些引号实际上并不存在,它们是字符串的表示。如果您尝试将字符串打印到屏幕上(例如,
print(coordinateslist[0])),您会注意到字符串周围没有" "。 -
感谢您的回复,当我使用您在查询中提到的代码时,我收到错误“消息”:“无效坐标”。当我在查询中直接使用坐标列表 [0] 时,我看到 " 出现在查询中,如下所示:reverse_geocode.json?'lat':'41.83','long':'-87.68'",
-
再一次,那些
"只是告诉你“这个对象是一个字符串”。它们实际上并不存在。当你直接访问字符串时,Python 会在它们周围加上"来通知你这个对象的类型是一个字符串。当您的代码访问该对象时,"不存在。例如,再次尝试print(coordinateslist[0])。你会看到输出中没有"。 -
也许你的意思是
coordinateslist.append({"lat": lat[i], "long": "-{}".format(lon[i])})? -
您可能不应该列出字符串。制作字典列表并将其转换为 JSON。
标签: python string string.format quotation-marks