我有3个字符串 a = 38 186 298 345 0.93345 27 198 277 389 0.86006 33 127 293 354 0.89782
(a)类 len(a)将其显示为22,包括2个数字之间的splace
想要将它们转换为列表 需要如下 b = [[38 186 298 345 0.93345] [27 198 277 389 0.86006] [33 127 293 354 0.89782]]
答案 0 :(得分:0)
按换行符和空格拆分它们。使用这个python函数。
string_name.split(str="")
了解更多信息:https://www.tutorialspoint.com/python/string_split.htm
答案 1 :(得分:0)
这是你的目标:
a = '''38 186 298 345 0.93345
27 198 277 389 0.86006
33 127 293 354 0.89782'''
b = [line.split() for line in a.split('\n')]
b
#[['38', '186', '298', '345', '0.93345'],
# ['27', '198', '277', '389', '0.86006'],
# ['33', '127', '293', '354', '0.89782']]
答案 2 :(得分:0)
这是一种特定于您的数据的解决方案。
请注意您的输入不是有效的Python,我已在下面解决了这个问题。
a1 = '38 186 298 345 0.93345'
a2 = '27 198 277 389 0.86006'
a3 = '33 127 293 354 0.89782'
res = [[float(j) if float(j) < 1 else int(j) for j in i.split()] \
for i in [a1, a2, a3]]
# [[38, 186, 298, 345, 0.93345],
# [27, 198, 277, 389, 0.86006],
# [33, 127, 293, 354, 0.89782]]