Sobes.tech
Junior

Срезҳо (slices) дар Python чистанд ва чӣ гуна истифода мешаванд?

sobes.tech AI

Ҷавоб аз AI

Қисмҳо (slices) дар Python роҳи қулайест барои гирифтани зерсохторҳо аз маҷмӯаҳои тартибдодашуда, ба монанди сатрҳо, рӯйхатҳо ва tuple-ҳо. Онҳо имкон медиҳанд, ки элементҳо ё қисмҳои секвензияро бидуни тағир додани маҷмӯаҳои аслӣ бароред.

Синтаксиси қисм: [start:stop:step]

  • start: индекс оғозёбии қисм (аз ҷумла). Пешфарз 0.
  • stop: индекс анҷоми қисм (аз ҷумла на). Пешфарз охири секвензия.
  • step: қадам дар қисм (чӣ қадар элементҳоро гузаред). Пешфарз 1.

Индексиҳо метавонанд манфӣ бошанд. Индекси манфӣ аз охири секвензия ҳисоб карда мешавад (-1 охирин элемент, -2 пешинаи он ва ғ.).

Маслиҳатҳои истифода:

# Сатр
s = "Hello, world!"
# Қисм аз оғоз то 5-ум элемент (ба он дохил намешавад)
print(s[:5])  # Натиҷа: Hello
# Қисм аз 7-ум элемент то охир
print(s[7:]) # Натиҷа: world!
# Қисм аз 7-ум то 12-ум элемент (ба он дохил намешавад)
print(s[7:12]) # Натиҷа: world
# нусхаи сатр
print(s[:]) # Натиҷа: Hello, world!
# Баргардонидани сатр
print(s[::-1]) # Натиҷа: !dlrow ,olleH
# Қисм бо қадам 2
print(s[::2]) # Натиҷа: Hlo ol!

# Рӯйхат
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Қисм аз 2-юм то 5-ум элемент (ба он дохил намешавад)
print(my_list[1:5]) # Натиҷа: [2, 3, 4, 5]
# Қисм аз охирин то 3-юм элемент (ба он дохил намешавад), бо қадам -1
print(my_list[-1:2:-1]) # Натиҷа: [10, 9, 8, 7, 6, 5, 4]

# Tuple
my_tuple = (10, 20, 30, 40, 50)
# Қисм аз 2-юм то 4-юм элемент (ба он дохил намешавад)
print(my_tuple[1:4]) # Натиҷа: (20, 30, 40)

Истифодаи қисмҳо имкон медиҳад, ки объектҳои нав бо қисмҳои маълумоти секвензияи аслӣ сохта шаванд, ки онҳоро воситаи муассир барои идоракунии маълумот мегардонад.