АСОСҲОИ АЛГОРИТМ ВА БАРНОМАСОЗӢ БО ЗАБОНИ PYTHON

МАССИВҲО ВА РӮЙХАТҲО
Массив маҷмуи унсурҳоест, ки тавассути индекс ба онҳо дастрасӣ мегирем. Дар ин дастур барои иҷрои алгоритмҳои кор бо массивҳо аз рӯйхати Python, яъне list, истифода мекунем.
Рӯйхат пайдарпайии тартибдодашуда ва тағйирпазири объектҳо мебошад. Он метавонад унсурҳои навъҳои гуногунро нигоҳ дорад ва андозааш ҳангоми иҷрои барнома тағйир ёбад. Аз ин рӯ, рӯйхати Python-ро бо массиви классикии ҳамнавъ комилан яксон ҳисобидан дуруст нест.
Индекси унсури аввал 0 ва индекси унсури охир len(a) - 1 мебошад.
Масалан, барои a = [1, 3, 4, 23, 5] қимати a[0] ба 1 ва қимати a[4] ба 5 баробар аст.
Шумо метавонед рӯйхатҳоро бо роҳҳои гуногун эҷод кунед. Роҳи осонтарини иҷрои ин номгӯи унсурҳои рӯйхат аст, ки бо вергул дар қавсҳои мураббаъ ҷудо карда шудаанд:
a = [1, 3, 4, 23, 5]
Рӯйхат сохтори динамикӣ аст; андозаи онро ҳангоми иҷрои барнома тағйир додан мумкин аст (унсурҳоро нест кардан ё илова кардан мумкин аст).
Рӯйхатҳоро бо истифода аз аломати "+" "илова кардан" мумкин аст.
Масалан, рӯйхати дар боло нишондодашуда метавонист чунин сохта шавад:
a = [1, 3] + [4, 23] + [5]
Иловаи рӯйхатҳои якхела бо зарби "*" иваз карда мешавад. Рӯйхати
10 унсуре, ки бо сифрҳо пур карда шудааст, чунин тартиб дода мешавад:
a = [0] * 10
Рӯйхатро бо ифодаи рӯйхатсозӣ (list comprehension) низ сохтан мумкин аст:
a = [i for i in range(10)]
Тавре ки шумо медонед, даври for i дар range(10) ҳамаи қиматҳои i-ро аз 0 то 9 такрор мекунад. Ифодаи пеш аз калимаи for (дар ин ҳолат, i) он чизест, ки барои ҳар як i ба унсури навбатии рӯйхат навишта мешавад. Дар мисоли овардашуда, рӯйхат бо қиматҳое пур карда мешавад, ки тағйирёбандаи i пайдарпай қабул мекунад, аз ин рӯ мо рӯйхати зеринро мегирем:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ҳамин чизро бо истифода аз функсияи рӯйхат барои эҷоди рӯйхат аз додаҳои бадастомада, ки бо истифода аз функсияи range ба даст оварда шудааст, ба даст овардан мумкин аст:

Барномасозӣ
Олами Афсонаҳо
Ахбор
Саломатӣ
Дунё