Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

2.5 Η αποκοπή των συμβολοσειρών (slicing)

Στην Python, μπορούμε να εκτελέσουμε τη διαδικασία του “slicing” για να εξάγουμε ένα τμήμα ενός string. Το slicing μας επιτρέπει να επιλέξουμε μόνο ένα μέρος του string βάσει των θέσεων των χαρακτήρων του. Μπορούμε να καθορίσουμε την αρχή και το τέλος του τμήματος που θέλουμε να εξάγουμε και να πάρουμε το υποσύνολο των χαρακτήρων που εντάσσονται ανάμεσα σε αυτά τα όρια.

Η σύνταξη του slicing σε Python είναι η εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
string[start:stop]
string[start:stop]
string[start:stop]

Όπου start είναι η αρχική θέση και stop είναι η τελική θέση. Το αποτέλεσμα είναι ένα νέο string που αποτελείται από τους χαρακτήρες από τη θέση start μέχρι τη θέση stop-1.

Αν δεν καθορίσουμε την start, τότε το slicing θα ξεκινά από την αρχή του string. Αν δεν καθορίσουμε την stop, τότε το slicing θα συνεχίζεται μέχρι το τέλος του string.

Επιπλέον, μπορούμε να χρησιμοποιήσουμε αρνητικούς δείκτες για το slicing. Σε αυτήν την περίπτωση, η αρνητική τιμή αντιστοιχεί σε θέση από το τέλος του string. Δηλαδή, -1 αντιστοιχεί στον τελευταίο χαρακτήρα, -2 στον προτελευταίο, και ούτω καθεξής.

[adinserter block=”2″]

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

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

Παρακάτω βλέπουμε μερικά παραδείγματα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_string = "Hello, World!"
# Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 2 μέχρι 5 (μη συμπεριλαμβανομένου)
print(my_string[2:5]) # Αποτέλεσμα: llo
# Εκτύπωση του υποσυμβολοσειράς από την αρχή μέχρι τον χαρακτήρα με θέση 5 (μη συμπεριλαμβανομένου)
print(my_string[:5]) # Αποτέλεσμα: Hello
# Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 7 και μετά
print(my_string[7:]) # Αποτέλεσμα: World!
# Εκτύπωση του υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου)
print(my_string[-6:-1]) # Αποτέλεσμα: World
my_string = "Hello, World!" # Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 2 μέχρι 5 (μη συμπεριλαμβανομένου) print(my_string[2:5]) # Αποτέλεσμα: llo # Εκτύπωση του υποσυμβολοσειράς από την αρχή μέχρι τον χαρακτήρα με θέση 5 (μη συμπεριλαμβανομένου) print(my_string[:5]) # Αποτέλεσμα: Hello # Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 7 και μετά print(my_string[7:]) # Αποτέλεσμα: World! # Εκτύπωση του υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου) print(my_string[-6:-1]) # Αποτέλεσμα: World
my_string = "Hello, World!"

# Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 2 μέχρι 5 (μη συμπεριλαμβανομένου)
print(my_string[2:5])   # Αποτέλεσμα: llo

# Εκτύπωση του υποσυμβολοσειράς από την αρχή μέχρι τον χαρακτήρα με θέση 5 (μη συμπεριλαμβανομένου)
print(my_string[:5])    # Αποτέλεσμα: Hello

# Εκτύπωση του υποσυμβολοσειράς από τον χαρακτήρα με θέση 7 και μετά
print(my_string[7:])    # Αποτέλεσμα: World!

# Εκτύπωση του υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου)
print(my_string[-6:-1]) # Αποτέλεσμα: World

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

[adinserter block=”3″]

Για να επιστρέψετε μια υποσυμβολοσειρά από την αρχή της αρχικής συμβολοσειράς μέχρι ένα συγκεκριμένο σημείο, μπορείτε να χρησιμοποιήσετε τον τελεστή slicing “:” με μόνο το δείκτη του τέλους.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά
string = "Hello, World!"
# Αντιγραφή των πρώτων πέντε χαρακτήρων της αρχικής συμβολοσειράς στη μεταβλητή `result`
result = string[:5]
# Εκτύπωση της μεταβλητής `result`, που περιέχει την υποσυμβολοσειρά "Hello"
print(result)
# Αρχική συμβολοσειρά string = "Hello, World!" # Αντιγραφή των πρώτων πέντε χαρακτήρων της αρχικής συμβολοσειράς στη μεταβλητή `result` result = string[:5] # Εκτύπωση της μεταβλητής `result`, που περιέχει την υποσυμβολοσειρά "Hello" print(result)
# Αρχική συμβολοσειρά
string = "Hello, World!"  

# Αντιγραφή των πρώτων πέντε χαρακτήρων της αρχικής συμβολοσειράς στη μεταβλητή `result`
result = string[:5]

# Εκτύπωση της μεταβλητής `result`, που περιέχει την υποσυμβολοσειρά "Hello"
print(result)

Ο παραπάνω κώδικας Python αναφέρεται στην ανάθεση της τιμής μιας υποσυμβολοσειράς στη μεταβλητή string και στη συνέχεια στη δημιουργία μιας νέας υποσυμβολοσειράς με βάση την αρχική.

Στον κώδικα, η σύνταξη string[:5] χρησιμοποιείται για να επιλέξει τους πρώτους πέντε χαρακτήρες της αρχικής συμβολοσειράς. Η υποσυμβολοσειρά αυτή αποθηκεύεται στη μεταβλητή result. Στη συνέχεια, η τιμή της μεταβλητής result εκτυπώνεται και το αναμενόμενο αποτέλεσμα είναι η εμφάνιση της υποσυμβολοσειράς “Hello” στην έξοδο.

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Hello
Hello
Hello

Στην Python, μπορούμε να αναγνωρίσουμε ένα κομμάτι ενός string από μια συγκεκριμένη θέση και μέχρι το τέλος του χρησιμοποιώντας τη σύνταξη [start:]. Το κομμάτι αυτό θα αρχίσει από τη θέση start και θα συνεχιστεί έως το τέλος του string.

Για παράδειγμα, αν έχουμε το string "Hello, World!", τότε η σύνταξη "Hello, World!"[7:] θα επιστρέψει το υποκομμάτι του string από τη θέση 7 μέχρι το τέλος του, δηλαδή το "World!".

Αυτή η σύνταξη μας επιτρέπει να επιλέξουμε μια υποσυμβολοσειρά που αποτελείται από τα χαρακτήρες μιας αρχικής συμβολοσειράς από μια συγκεκριμένη θέση και μετά.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_string = "Hello, World!"
# εκτύπωση από τον 7ο χαρακτήρα μέχρι το τέλος του string
print(my_string[7:])
my_string = "Hello, World!" # εκτύπωση από τον 7ο χαρακτήρα μέχρι το τέλος του string print(my_string[7:])
my_string = "Hello, World!"
# εκτύπωση από τον 7ο χαρακτήρα μέχρι το τέλος του string
print(my_string[7:]) 

Το παραπάνω παράδειγμα θα εκτυπώσει το κομμάτι του string από τον 7ο χαρακτήρα και μετά, δηλαδή "World!".

[adinserter block=”4″]

Ο αρνητικός δείκτης χρησιμοποιείται για να αναφερθούμε στα στοιχεία του string από το τέλος προς την αρχή. Η αντιστοιχία των αρνητικών δεικτών με τους θετικούς φαίνεται στο παρακάτω διάγραμμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
0 1 2 3 4
-5 -4 -3 -2 -1
+---+---+---+---+---+ | H | e | l | l | o | +---+---+---+---+---+ 0 1 2 3 4 -5 -4 -3 -2 -1
 +---+---+---+---+---+
 | H | e | l | l | o |
 +---+---+---+---+---+
   0   1   2   3   4
  -5  -4  -3  -2  -1

Για παράδειγμα, το τελευταίο στοιχείο του string “Hello” μπορεί να προσπελαστεί είτε με τον θετικό δείκτη 4 είτε με τον αρνητικό δείκτη -1.

Μπορούμε να χρησιμοποιήσουμε αρνητικούς δείκτες για να προσπελάσουμε στοιχεία του string από το τέλος προς την αρχή με τη χρήση της σύνταξης string[-n:], όπου n είναι ένας ακέραιος αριθμός που αντιστοιχεί στον αριθμό των στοιχείων που θέλουμε να επιστρέψουμε.

Παρακάτω έχουμε μερικά παραδείγματα σε κώδικα Python:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
string = "Hello, World!"
# Εκτύπωση του τελευταίου χαρακτήρα της συμβολοσειράς
print(string[-1]) # Αποτέλεσμα: !
# Εκτύπωση της υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου)
print(string[-6:-1]) # Αποτέλεσμα: World
# Εκτύπωση της υποσυμβολοσειράς από την αρχή μέχρι τον έκτο χαρακτήρα από το τέλος (μη συμπεριλαμβανομένου)
print(string[:-7]) # Αποτέλεσμα: Hello
string = "Hello, World!" # Εκτύπωση του τελευταίου χαρακτήρα της συμβολοσειράς print(string[-1]) # Αποτέλεσμα: ! # Εκτύπωση της υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου) print(string[-6:-1]) # Αποτέλεσμα: World # Εκτύπωση της υποσυμβολοσειράς από την αρχή μέχρι τον έκτο χαρακτήρα από το τέλος (μη συμπεριλαμβανομένου) print(string[:-7]) # Αποτέλεσμα: Hello
string = "Hello, World!"

# Εκτύπωση του τελευταίου χαρακτήρα της συμβολοσειράς
print(string[-1])    # Αποτέλεσμα: !

# Εκτύπωση της υποσυμβολοσειράς από τον έκτο χαρακτήρα από το τέλος μέχρι τον προτελευταίο χαρακτήρα (μη συμπεριλαμβανομένου)
print(string[-6:-1]) # Αποτέλεσμα: World

# Εκτύπωση της υποσυμβολοσειράς από την αρχή μέχρι τον έκτο χαρακτήρα από το τέλος (μη συμπεριλαμβανομένου)
print(string[:-7])   # Αποτέλεσμα: Hello
7 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων