Python - 如何从字符串列表中删除字母,将字符串更改为 float ,转换一些 float 并保持顺序

标签 python string list loops str-replace

myList=['57.43 N', '44.78 S', '59.64 S', '88.11 N']

我正在学习Python,我有一个表示Lat/Lon的字符串列表。我需要删除 N/S ,并且当有 S 乘以 -1 时,并将所有字符串转换为 floats 。我想我可以建立一个我的值的索引,并以某种方式将带有 S 的字符串与带有 N 的字符串分开,创建北和南列表,删除 N/S,

x=[x.remove('NS') for x in myList]
y=[y.remove('S') for x in myList] 

将 y 列表乘以 -1 并使用将 x 扩展为 y,这样我的索引就保持不变。任何建议都会非常可爱。 谢谢。

最佳答案

您可以使用列表推导式来简洁地实现此目的:

newList = [-1 * float(x[:-2]) if 'S' in x else float(x[:-2]) for x in mylist]

当然,这假设您的每个元素都满足以下条件:

  1. 最后两个字符始终为 'N''S'
  2. 其他字符可以转换为 float 。

关于Python - 如何从字符串列表中删除字母,将字符串更改为 float ,转换一些 float 并保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48759989/

相关文章:

python - 如何对 Pandas 中按分类列分组的值求和?

python - 为 Python 2.6 构建 OpenCV 的问题

java - 删除两个特定标签之间的所有字符(java regex)

python - 使用给定项目拆分列表

python - 在 Python 中附加到二维列表

python - Ubuntu + virtualenv = 一团糟? virtualenv 讨厌 dist-packages,想要 site-packages

java - 我怎样才能在java中实现zlib.compress

string - 如何改进多次 StringReplace 调用?

Python 字符串连接性能

python - 将两个列表与自定义对象进行比较,行为不符合我的预期(词典比较)-Python