/ / Python: wiele kopii ciągu na liście - python, ciąg znaków, lista

Python: wiele kopii ciągu na liście - python, ciąg, lista

Próbuję użyć listy ciągów znaków, z których niektóre są powtarzane. Ale wydaje mi się, że nie mam odpowiedniego poziomu zagnieżdżenia ciągów, którego potrzebuję.

Wciąż jestem nowicjuszem w Pythonie i jestem zdezorientowany. czytam ta odpowiedź i próbowali go zaimplementować, ale czy listy łańcuchów są jakoś specjalnym przypadkiem, który zachowuje się inaczej niż listy innych typów?

Jeśli biegnę:

old_freestream_headings="area,MM static pressure,MM relative mach number,"
old_integral_headings="dp,Impulse:0,Impulse:1,Impulse:2,"
old_forces_headings=("pressure force vector:0,pressure force vector:1,pressure force vector:2,"
"viscous force vector:0,viscous force vector:1,viscous force vector:2,")
old_headings=[old_freestream_headings*2,old_integral_headings,old_forces_headings*5]
print(filter(None,old_headings[0].split(",")))

W rezultacie otrzymuję:

["area", "MM static pressure", "MM relative mach number", "area", "MM static pressure", "MM relative mach number"]

który jest obie kopie pierwszego ciągu.

Jeśli zamiast tego uruchomię:

old_freestream_headings="area,MM static pressure,MM relative mach number,"
old_integral_headings="dp,Impulse:0,Impulse:1,Impulse:2,"
old_forces_headings=("pressure force vector:0,pressure force vector:1,pressure force vector:2,"
"viscous force vector:0,viscous force vector:1,viscous force  vector:2,")
old_headings=[[old_freestream_headings]*2,old_integral_headings,[old_forces_headings]*5]
print(filter(None,old_headings[0].split(",")))

Pojawia się błąd:

AttributeError: "list" object has no attribute "split"

ponieważ nie dzielę już ciągu znaków, ponieważ old_headings [0] jest teraz listą dwóch ciągów znaków.

Wyjście, które chciałbym uzyskać, to

["area", "MM static pressure", "MM relative mach number"]

to znaczy zastosuj podział tylko do jednej kopii ciągu.

Co ja robię źle?

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że masz na myśli dodawanie list razem

old_headings = [old_freestream_headings] * 2 + [old_integral_headings] + [old_forces_headings] * 5