2011-12-29 6 views
41

Używam metody string.join() w pythonie 2, ale wygląda na to, że została usunięta w pythonie 3. Jaka jest odpowiednia metoda w pythonie 3?Python 3 string.join() odpowiada?

Metoda string.join() pozwala mi łączyć wiele ciągów razem z ciągiem pomiędzy co drugim ciągiem. Na przykład string.join (("a", "b", "c"), ".") Spowoduje "a.b.c".

+6

'string.join' jest przestarzałe w Pythonie 2. Więc używałbyś' '. '. Join()' również w Pythonie 2. – rubik

+0

W porządku, będę o tym pamiętać :) – Dennis

+0

@rubik to oczywiście, jeśli nie "importować ciąg";) – BoltzmannBrain

Odpowiedz

45

'.'.join() lub ".".join() .. Więc dowolny ciąg instancja ma metodę join()

+3

Nawiasem mówiąc, powinieneś także używać metod w 2.x. – delnan

13

Istnieje metoda join obiektów smyczkowych:

".".join(("a","b","c"))

17

str.join() działa dobrze w Pythonie 3, wystarczy aby uzyskać prawidłową kolejność argumentów:

+2

... a to dlatego, że ogólnie "obj.method (args)" jest technicznie równoważny z 'objclass.metoda (obj, args) '. Moje +1. W każdym razie Tim jest bardziej popularny w Pythonie. – pepr

+0

Tak, dziękuję. Osobiście też stosuję podejście @ Tima, kiedy mogę. Ale czasami potrzebna jest funkcja 'join' przed utworzeniem łańcucha ogranicznika (aby przekazać do konstruktora oprogramowania pośredniego, serializera itp.). I @Dennis szukał odpowiednika Python3 do 'string.join' i jest to jedyny, o którym wiem. – hobs

+0

Tak. Rozumiem motywację. Jest to absolutnie poprawne;) – pepr