while циклі
Теория
Тізімді құру және негізгі қасиеттері
Тізім – өзгертілетін (mutable), реттелген элементтер жинағы.
empty = []
numbers = [1, 2, 3, 4, 5]
mixed = [10, "hello", 3.14, True]
nested = [[1,2], [3,4]] # тізім ішінде тізім
# list() конструкторы
chars = list("abc") # ['a','b','c']
range_list = list(range(5)) # [0,1,2,3,4]
Индекстеу және бөліктерге бөлу (slicing)
lst = [10, 20, 30, 40, 50]
# Индекстеу (0-бастан)
print(lst[0]) # 10
print(lst[-1]) # 50 (соңғы)
# Бөліктерге бөлу [start:stop:step]
print(lst[1:4]) # [20,30,40]
print(lst[:3]) # [10,20,30]
print(lst[2:]) # [30,40,50]
print(lst[::-1]) # [50,40,30,20,10] (кері)
Тізімді өзгерту (элементтерді қосу, өшіру, өзгерту)
fruits = ["алма", "банан", "шие"]
# Элементті өзгерту
fruits[1] = "апельсин" # ['алма', 'апельсин', 'шие']
# Қосу
fruits.append("алмұрт") # соңына
fruits.insert(1, "киви") # орнына
# Кеңейту (басқа тізімді қосу)
fruits.extend(["манго", "ананас"])
# Өшіру
del fruits[0] # индекс бойынша
removed = fruits.pop(2) # индекс, қайтарады
fruits.remove("банан") # мәні бойынша (біріншісін)
fruits.clear() # барлығын өшіру
Тізім әдістері
- append(x) – соңына x қосады
- extend(iter) – басқа итерацияланатынды қосады
- insert(i, x) – i индексіне х қояды
- remove(x) – бірінші х-ті өшіреді
- pop(i) – i-дегі элементті алып тастайды (жоқ болса соңғысын)
- index(x) – х-тің индексін қайтарады
- count(x) – х-тің санын есептейді
- sort() – өсу ретімен сұрыптайды
- reverse() – кері реттейді
- copy() – көшірмесін жасайды
nums = [3, 1, 4, 1, 5]
nums.sort() # [1,1,3,4,5]
nums.reverse() # [5,4,3,1,1]
print(nums.index(4)) # 1
print(nums.count(1)) # 2
Тізімдерді көшіру (маңызды!)
a = [1,2,3]
b = a # бұл көшірме емес, сілтеме!
b.append(4)
print(a) # [1,2,3,4] - а да өзгерді!
# Дұрыс көшіру:
c = a.copy() # немесе a[:], немесе list(a)
c.append(5)
print(a) # [1,2,3,4] өзгерген жоқ
Тізімді қолдану мысалдары
# Тізімді жинақтау (list comprehension) – қысқа әрі тиімді
squares = [x**2 for x in range(10)]
# [0,1,4,9,16,25,36,49,64,81]
evens = [x for x in range(20) if x % 2 == 0]
# Тізімді функциялармен өндеу
nums = [5,2,8,1,9]
print(len(nums)) # 5
print(sum(nums)) # 25
print(max(nums)) # 9
print(min(nums)) # 1
# Біріктіру (join) – мәтіндер тізімін бір жолға
words = ["Hello", "world"]
sentence = " ".join(words) # "Hello world"