Sobes.tech
Junior

Ce sunt tăieturile (slices) în Python și cum sunt utilizate?

sobes.tech AI

Răspuns de la AI

Slicee în Python sunt o modalitate convenabilă de a obține subsequente din colecții ordonate, cum ar fi șiruri, liste și tupluri. Ele permit extragerea elementelor sau a părților dintr-o secvență fără a modifica colecția originală.

Sintaxa slice-ului: [start:stop:step]

  • start: indicele de început al slice-ului (incluzând). Implicit 0.
  • stop: indicele de sfârșit al slice-ului (neincluzând). Implicit sfârșitul secvenței.
  • step: pasul slice-ului (la câți pași săriți peste elemente). Implicit 1.

Indecșii pot fi negativi. Un indice negativ se numără de la sfârșitul secvenței (-1 este ultimul element, -2 penultimul etc.).

Exemple de utilizare:

# Șir
s = "Hello, world!"
# Slice de la început până la al 5-lea element (neincluzând)
print(s[:5])  # Output: Hello
# Slice de la al 7-lea element până la sfârșit
print(s[7:]) # Output: world!
# Slice de la al 7-lea până la al 12-lea element (neincluzând)
print(s[7:12]) # Output: world
# Copierea șirului
print(s[:]) # Output: Hello, world!
# Inversarea șirului
print(s[::-1]) # Output: !dlrow ,olleH
# Slice cu pas 2
print(s[::2]) # Output: Hlo ol!

# Listă
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Slice de la al 2-lea la al 5-lea element (neincluzând)
print(my_list[1:5]) # Output: [2, 3, 4, 5]
# Slice de la ultimul element până la al 3-lea (neincluzând), cu pas -1
print(my_list[-1:2:-1]) # Output: [10, 9, 8, 7, 6, 5, 4]

# Tuple
my_tuple = (10, 20, 30, 40, 50)
# Slice de la al 2-lea la al 4-lea element (neincluzând)
print(my_tuple[1:4]) # Output: (20, 30, 40)

Utilizarea slice-urilor permite crearea de obiecte noi cu părți din datele secvenței originale, făcându-le un instrument eficient pentru manipularea datelor.