0

Ich habe einige Code ähnlich dem folgenden:Concatenate Zeichenfolge mit .format

test_1 = 'bob' 
test_2 = 'jeff' 

test_1 += "-" + test_2 + "\n" 

Ausgang:

bob- jeff\n 

Ich mag würde die gleiche Funktionalität haben, aber die .format Methode.

Dies ist, was ich bisher:

test_1 = "{}{} {}\n".format(test_1, "-", test_2) 

, die die gleiche Ausgabe erzeugt, aber gibt es eine bessere/effizientere Art und Weise .format. in diesem Fall der Verwendung?

+4

Müssen Sie das Trennzeichen parametrisiert haben..könnte es in der Formatzeichenfolge sein? ZB: '" {} - {} \ n ".format (test_1, test_2)'? .. – alecxe

+1

Könnte auch ''-' .join ((test_1, test_2)) + '\ n'' –

Antwort

1

''.join ist wahrscheinlich schnell genug und effizient.

'-'.join((test_1,test_2)) 

Sie können verschiedene Methoden mit dem timeit Modul messen. Das kann Ihnen sagen, welche am schnellsten ist

Dies ist ein Beispiel dafür, wie timeit können verwendet werden: -

>>> import timeit 
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000) 
0.8187260627746582 
+0

verwenden über das Format – tinySandy

+0

@tinySandy Ich sehe keinen effizienten Weg, Format zu verwenden, anders als das, was das Proletariat erfunden hat. Also habe ich gerade einen anderen effizienten Weg eingeschlagen. :) –

+0

ich würde nichts posten, da es nichts damit zu tun hat, was OP fragte – tinySandy

0

Wenn Sie es schaffen können, um Python zu aktualisieren 3.6 Sie die neuere intuitiver String Formatierung Syntax verwenden (siehe unten):

test_1 = 'bob' 
test_2 = 'jeff' 
print(f'{test_1} - {test_2} \n.') 

auch sowie die timeit Modul (erwähnt durch Nihal Rp) Sie auch die eingebaut in time Modul verwenden könnten undverwendenvor und nach dem Code, zwei Mal drucken und den Unterschied zwischen ihnen sehen.

Verwandte Themen