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]
当然,这假设您的每个元素都满足以下条件:
- 最后两个字符始终为
'N'
或'S'
。 - 其他字符可以转换为 float 。
关于Python - 如何从字符串列表中删除字母,将字符串更改为 float ,转换一些 float 并保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48759989/