2014-12-17 8 views
5

Czy możesz wyjaśnić, czy muszę przekazywać zmienną wiele razy dla łączenia ciągów.Czy muszę przekazać wiele zmiennych w konkatenacji ciągów znaków

Na przykład.

String1 = "Hello" 
String = "Good Morning"  
String2 = String + "%s, %s" % (String1, String1) 

Moje pytanie brzmi, jak mogę przejść String1 tylko raz?

Czy jest lepszy sposób to zrobić?

+0

Jeśli Twoim zamierzonym wyjściem jest "HelloHelloHello", to tak –

+0

Gdzie jest zdefiniowana zmienna 'String'? – Kevin

+0

@Kevin - Przepraszam za tym. – paddu

Odpowiedz

6

przypadku korzystania z nowszej str.format metody, można zrobić:

String2 = String + "{0}, {0}".format(String1) 

W rzeczywistości, należy zawsze wolą str.format nad % formatowania w nowoczesnych Python. To drugie podejście jest pseudo-zdezaktualizowane i najprawdopodobniej zostanie usunięte z przyszłej wersji tego języka.

+0

To działa. Dzięki!! – paddu

+0

Najlepszym rozwiązaniem byłoby: 'String2 =" {0} {1}, {1} ". Format (String, String1)' – Matthias

+0

Próbowałem wcześniej, aby zaakceptować twoją odpowiedź, ale z pewnych powodów SO nie pozwalała mi. Teraz mogłem to zrobić. – paddu