تقریبا داخل تمام زبان هایی که از نسل سی هستند شما چیزی رو به اسم مجموعه ها یا آرایه ها دیدید!داخل زبان سی یک آرایه، یک مجموعه از متغیر های همنوع هست که داخل حافظه کنار هم قرار گرفتن.آرایه زیر یک آرایه از 3 عدد صحیح هست:

int ary[3] = {1, 2, 3};
printf("%i\n", ary[0]); // prints 1

داخل پایتون چیزی به اسم آرایه وجود نداره.خود زبان پایتون بصورت ذاتی سه نوع مجموعه داره: لیست ها(lists)،تیوپل ها(tuples) و دایرکتوری ها(directories). این سه تا رو حالا میخوام آموزش بدم.

تمام اینها یک خصوصیت مشترک دارن: میتونن هر نوع متغیر و مقداری رو درونشون ذخیره کنن حتی یک مجموعه دیگه رو!

لیست ها

لیست ها پرکاربرد ترین مجموعه ها در پایتون هستند و معمولا ازش خیلی زیاد استفاده میشه!خیلی شبیه آرایه در سی عمل میکنه اما شما میتونید اعضاش رو به دلخواه تغییر بدید،کم ... ید یا اضافه کنید در حالی که آرایه ها در سی این همه انعطاف ندارن!به علاوه یک لیست داخل پایتون میتونه هر چیزی رو درونش داشته باشه؛ اعداد، رشته ها، کلاس ها و حتی یک مجموعه دیگه!

lst = [0, 2, 55]
print(lst[1]) # 2
print(lst[-1]) # 55
_lst = [lst, [lst, [none]]]
print(_lst[0][0]) # 0

تیوپل ها

مثل همون لیست ها هستند اما اعضا رو نمیتونید اضافه یا حذف کنید یا مقدارشون رو تغییر بدید.نسبت به لیست ها سرعتشون بالاتره اما چون زیاد انعطاف پذیر نیستن کمتر کاربرد دارن.

tpl = ()
print(len(tpl)) # 0
tpl = ("", none, 0, false, (), ((), ()))
print(len(tpl)) # 6

دایرکتوری ها

دایرکتوری ها یا دیکشنری های به این صورت عمل میکنن که شما به هر کدوم از عضو ها یک اسم میدید به به جای شماره(index) با اون اسم به اون عضو دسترسی پیدا میکنید.
human = {'name': 'john', 'age': 60, 'port': 6667, 'nicks': ('spacea', 'shayan')}
print(human['name']) # john
print(human['age']) # 60
print(human['nicks'][0]) # spacea
nums = dict() # creates an empty dict
nums['one'] = 1
nums['two'] = 2
nums['three'] = 3
print(nums['one']) # 1

نکته: دایریکتوری ها ترتیب ندارن! مثلا این دوتا باهم برابر هستن!

a = {'a': 10, 'b': 7, 'c': 5}
b = {'b': 7, 'a': 10, 'c': 5}