Πώς μπορώ να πάρω μια υποομάδα μιας συμβολοσειράς στην Python;

Υπάρχει τρόπος να υποσυνθέσετε μια συμβολοσειρά στην Python, για να λάβετε μια νέα συμβολοσειρά από τον τρίτο χαρακτήρα μέχρι το τέλος της συμβολοσειράς;

Ίσως όπως myString[2:τέλος];

Αν αφήνοντας το δεύτερο μέρος σημαίνει 'μέχρι το τέλος', και αν αφήσετε το πρώτο μέρος, ξεκινάει από την αρχή;

Λύση
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Η Python αποκαλεί αυτή την έννοια "τεμαχισμό" και λειτουργεί σε περισσότερα από απλά αλφαριθμητικά. Ρίξτε μια ματιά εδώ για μια ολοκληρωμένη εισαγωγή.

Σχόλια (0)

Ένα παράδειγμα φαίνεται να λείπει εδώ: η πλήρης (ρηχή) αντιγραφή.

>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>

Αυτό είναι ένα κοινό ιδίωμα για τη δημιουργία ενός αντιγράφου τύπων ακολουθίας (όχι εσωτερικών συμβολοσειρών), [:]. Η ρηχή αντιγραφή μιας λίστας, βλέπε Σύνταξη φέτας λίστας της Python που χρησιμοποιείται χωρίς προφανή λόγο.

Σχόλια (5)

Το έχετε ακριβώς εκεί, εκτός από το "τέλος". Ονομάζεται σημειογραφία φέτας. Το παράδειγμά σας θα έπρεπε να διαβάζεται ως εξής:

new_sub_string = myString[2:]

Αν παραλείψετε τη δεύτερη παράμετρο είναι σιωπηρά το τέλος της συμβολοσειράς.

Σχόλια (0)