Mam ciąg z input(), że chciałbym podzielić tylko na dwie części za pomocą ogranicznika jako przestrzeń, mimo że przestrzeń może wystąpić więcej niż dwa razy.

Na przykład, jeśli ciąg wejściowy był

'acquire Wooden Shield'

Wynikowa lista, którą chcę, byłoby

['acquire', 'Wooden Shield]

Założyłbym to, że jest to całkiem proste, dzięki.

4
user3896917 13 sierpień 2014, 16:04

2 odpowiedzi

Najlepsza odpowiedź

split może wziąć drugi parametr, który definiuje, jak Wiele podziałów, które chciałbyś zrobić. Jeśli chcesz tylko dwa elementy, możesz po prostu podzielić raz.

>>> s = 'acquire Wooden Shield'
>>> s.split(' ', 1)
['acquire', 'Wooden Shield']

str.split([sep[, maxsplit]]) Jeśli maxSplit, co najwyżej wykonane są maksymalne podziały (dlatego lista będzie miała najwyżej maksymalne elementy + 1). Jeśli MAXSPLIT nie jest określony lub -1, nie ma limitu liczby podziałów (wszystkie możliwe podziały są wykonane).

7
Cory Kramer 13 sierpień 2014, 12:06
string.split(' ', 1)

Drugi parametr jest liczbą dopasowań

Odniesienie Oto

1
flau 13 sierpień 2014, 12:06