Πώς μπορώ να προσθέσω ένα αλφαριθμητικό σε ένα άλλο στην Python;

Θέλω έναν αποτελεσματικό τρόπο για να προσθέσω ένα αλφαριθμητικό σε ένα άλλο στην Python, εκτός από τον ακόλουθο.

var1 = "foo"
var2 = "bar"
var3 = var1 + var2

Υπάρχει κάποια καλή ενσωματωμένη μέθοδος για να χρησιμοποιήσω;

Μην βελτιστοποιείτε πρόωρα. Αν δεν έχετε κανένα λόγο να πιστεύετε ότι υπάρχει συμφόρηση ταχύτητας που προκαλείται από τις συνδέσεις συμβολοσειρών, τότε απλά μείνετε με τα + και +=:

s  = 'foo'
s += 'bar'
s += 'baz'

Τούτου λεχθέντος, αν στοχεύετε σε κάτι σαν τον StringBuilder της Java, το κανονικό ιδίωμα της Python είναι να προσθέσετε στοιχεία σε μια λίστα και στη συνέχεια να χρησιμοποιήσετε το str.join για να τα ενώσετε όλα στο τέλος:

l = []
l.append('foo')
l.append('bar')
l.append('baz')

s = ''.join(l)
Σχόλια (3)
str1 = "Hello"
str2 = "World"
newstr = " ".join((str1, str2))

Αυτό ενώνει τα str1 και str2 με ένα κενό ως διαχωριστικό. Μπορείτε επίσης να κάνετε "".join(str1, str2, ...). Η str.join() παίρνει μια επαναληπτική σειρά, οπότε θα πρέπει να βάλετε τις συμβολοσειρές σε μια λίστα ή μια πλειάδα.

Αυτό'είναι όσο αποδοτικό γίνεται για μια ενσωματωμένη μέθοδο.

Σχόλια (1)

Αν πρέπει να κάνετε πολλές πράξεις προσάρτησης για να δημιουργήσετε ένα μεγάλο αλφαριθμητικό, μπορείτε να χρησιμοποιήσετε το StringIO ή το cStringIO. Η διασύνδεση είναι σαν ένα αρχείο, δηλαδή: "γράφετε" για να προσαρτήσετε κείμενο σε αυτό.

Αν απλά προσαρτάτε δύο συμβολοσειρές, τότε απλά χρησιμοποιήστε το +.

Σχόλια (0)