Python proqramlaşdırma dilində geniş istifadə olunan mürəkkəb tiplərdən biri də siyahılardır (lists). Siyahı – indekslə identifikasiya edilmiş nizamlanmış qiymətlər çoxluğudur. Bir-birindən vergüllə (,) ayrılan siyahının elementləri müxtəlif tipdə qiymətlərdən ibarət ola bilər, lakin təcrübədə, adətən, eyni tipli elementlərdən istifadə edirlər. Siyahının özü isə kvadrat mötərizə daxilində göstərilir:
>>> [2, 3.14, True, "Neftçi", 'a']
[2, 3.14, True, 'Neftçi', 'a']
>>> tr = [1, 3, 6, 7, 9]
>>> print(tr)
[1, 3, 6, 7, 9]
>>> type(tr)
<class 'list'>
>>>
Sətirlərdə olduğu kimi, siyahılar üzərində də indeksləmə və bölünmə əməliyyatlarını apara bilərik:
>>> tr = [1, 3, 6, 7, 9]
>>> tr[0]
1
>>> tr[1:4]
[3, 6, 7]
>>> tr[2:]
[6, 7, 9]
>>>
Siyahıları konkatenasiya etmək, yəni toplama əməliyyatı ilə birləşdirmək olar:
>>> [1,3,5,7,9] + [2,4,6,8]
[1, 3, 5, 7, 9, 2, 4, 6, 8]
>>>
Siyahıları iterasiya etmək, yəni bir ədədə vuraraq təkrarlamaq da mümkündür:
>>> [1,10,100] * 3
[1, 10, 100, 1, 10, 100, 1, 10, 100]
>>>
Sətirlərdə olduğu kimi, siyahının da uzunluğunu, yəni neçə elementdən ibarət olduğunu len() funksiyası ilə müəyyən edə bilərik:
>>> let = ['a','b','c','d','e']
>>> len(let)
5
>>>
Sətirlərdən fərqli olaraq, siyahıları dəyişmək mümkündür:
>>> kub = [1, 8, 27, 65, 125]
>>> kub[3] = 4 ** 3
>>> print(kub)
[1, 8, 27, 64, 125]
>>> let = ['a', 'b', 'c', 'd', 'e']
>>> let[1:4] = ['B', 'C', 'D']
>>> let
['a', 'B', 'C', 'D', 'e']
>>>
Siyahının sonuna bir və ya bir neçə element əlavə etmək olar:
>>> let = ['a', 'b', 'c', 'd', 'e']
>>> let[len(let):] = 'f'
>>> let
['a', 'b', 'c', 'd', 'e', 'f']
>>> let[len(let):] = ['g', 'h', 'i']
>>> let
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
>>>
Siyahının bir, bir neçə və ya bütün elementlərini silmək olar:
>>> num = [1, 2, 3, 4, 5, 6, 7]
>>> num[3:4] = []
>>> num
[1, 2, 3, 5, 6, 7]
>>> num[2:5] = []
>>> num
[1, 2, 7]
>>> num[:] = []
>>> num
[]
>>>
Siyahıları leksikoqrafik olaraq müqayisə etmək mümkündür. Bu zaman müqayisə siyahıların uyğun elementləri arasında aparılır. Müqayisə edilən iki siyahı o zaman bərabər sayılır ki, onların uzunluğu eyni, uyğun elementləri eyni tipdə və öz aralarında bərabər olsun:
>>> s1 = ['a', 'b', 'c']
>>> s2 = ['d', 'e', 'f']
>>> s3 = ['a', 'b', 'c']
>>> if s1 == s2:
print('s1 və s2 siyahıları bərabərdir.')
else:
print('s1 və s2 siyahıları bərabər deyil.')
s1 və s2 siyahıları bərabər deyil.
>>> if s1 == s3:
print('s1 və s3 siyahıları bərabərdir.')
else:
print('s1 və s3 siyahıları bərabər deyil.')
s1 və s3 siyahıları bərabərdir.
>>>
İç-içə siyahılardan istifadə etmək mümkündür, yəni siyahının özü başqa siyahılardan ibarət ola bilər:
>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
>>>
Sonda onu da nəzərinizə çatdırım ki, siyahılar üzərində ümumi ardıcıllıq əməliyyatları və dəyişkən ardıcıllıq əməliyyatlarının hamısını icra etmək olar. Bundan başqa, siyahılar üçün digər siyahı metodları da nəzərdə tutulmuşdur.
