Ich habe 3 Zeichenfolgen a = 38 186 298 345 0,93345 27 198 277 389 0,86006 33 127 293 354 0,89782

Typ (a) len (a) zeigt es als 22 einschließlich Leerzeichen zwischen 2 Zahlen

Möchten Sie sie in die Liste konvertieren? Need wie unten b = [[38 186 298 345 0.93345] [27 198 277 389 0.86006] [33 127 293 354 0.89782]]

-3
AjItH HeGdE 19 Apr. 2018 im 12:40

3 Antworten

Beste Antwort

Ist es das, was Sie anstreben:

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']]
0
zipa 19 Apr. 2018 im 09:46

Teilen Sie sie durch Zeilenumbrüche und Leerzeichen. Verwenden Sie diese Python-Funktion.

string_name.split(str="")

Weitere Informationen finden Sie unter https://www.tutorialspoint.com/python/string_split.htm

0
Mehul Jain 19 Apr. 2018 im 09:46

Dies ist eine spezifische Lösung für Ihre Daten.

Beachten Sie, dass Ihre Eingaben kein gültiges Python sind. Ich habe das unten behoben.

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]]
0
jpp 19 Apr. 2018 im 09:49