در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش پایتون (Python) به زبان خیلی ساده قسمت 11 : لیست ها

در زبان پایتون یک لیست شامل مقادیر مختلفی است که به صورت یک متغیر تعریف می شوند. برای مثال، شما می توانید لیستی تعریف کنید با نام numbers که شامل اعداد 1 الی 10 می باشد. در زبان پایتون به دو صورت می توان لیست ها را تعریف کرد، یک حالت استفاده از [] می باشد که آیتم ها در میان این علامت ها مشخص می شوند:

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9]

یک راه دیگر استفاده از تابع list است که به صورت نوشته می شود، بوسیله دستور زیر یک لیست خالی ایجاد می شود:

>>> names = list()
>>> names
[]

بوسیله تابع list می توان نوع های دیگری مانند رشته را به راحتی تبدیل به لیست کرد، تابع زیر یک رشته گرفته و کاراکترهای آن را به لیست تبدیل می کند:

>>> chars = list('Welcome to ITPro.ir')
>>> chars
['W', 'e', 'l', 'c', 'o', 'm', 'e', ' ', 't', 'o', ' ', 'I', 'T', 'P', 'r', 'o', '.', 'i', 'r']

توابع دیگری نیز هستند که خروجی از نوع لیست ایجاد می کنند، مانند تابع split که یک رشته را بر اساس یک کاراکتر به لیست تبدیل می کند:

>>> words = 'Welcome to ITPro.ir'.split(' ')
>>> words
['Welcome', 'to', 'ITPro.ir']

برای استفاده از آیتم های داخل لیست از offset استفاده می شود، کافیست در میان علامت های [] شماره اندیس آیتم داخل لیست را به صورت زیر مشخص کنید:

>>> words[1]
'to'

دقت کنید که اندیس آیتم های لیست از عدد 0 شروع می شود. در صورتی که عددی بیشتر از آیتم های داخل لیست استفاده کنید پیغام خطا دریافت خواهید کرد:

>>> words[10]
Traceback (most recent call last):
  File "", line 1, in 
IndexError: list index out of range

همچنین می توان به عنوان اندیس آیتم های لیست، از اعداد منفی استفاده کرد که از انتهای لیست آیتم ها را مشخص می کند:

>>> words[-1]
'ITPro.ir'

بر خلاف رشته ها که امکان مقدار دهی اندیس ها وجود نداشت، می توان آیتم های لیست را با استفاده از اندیس مقدار دهی کرد:

>>> words[-1] = 'ITPRO.IR'
>>> words
['Welcome', 'to', 'ITPRO.IR']

یکی دیگر از قابلیت های لیست ها، امکان استفاده از slice در لیست ها است، در قسمت قبلی با Slice ها آشنا شده و کاربرد آن را در رشته ها بررسی کردیم، در اینجا چند مثال از استفاده Slice ها در لیست ها را مشاهده می کنید:

>>> words[0:2]
['Welcome', 'to']
>>> words[:-2]
['Welcome']
>>> words[::-2]
['ITPro.ir', 'Welcome']

هر آیتم لیست می تواند شامل یک لیست جداگانه باشد، کافیست آیتم مورد نظر به صورت یک لیست جداگانه تعریف کرد:

>>> lists=[[1,2],[3,4],[5,6],[7,8]]
>>> lists
[[1, 2], [3, 4], [5, 6], [7, 8]]
>>> lists[0]
[1, 2]
>>> lists[0][1]
2

برای اضافه کردن یک آیتم جدید به لیست از تابع append استفاده می کنیم، این تابع یک آیتم را به انتهای لیست اضافه می کند:

>>> numbers=[1,2,3,4,5]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers.append(6)
>>> numbers
[1, 2, 3, 4, 5, 6]

تابع append یک آیتم را به انتهای لیست اضافه می کرد، برای درج یک آیتم در لیست از تابع insert به صورت زیر استفاده می کنیم:

>>> names=['Hossein','Mohammad']
>>> names
['Hossein', 'Mohammad']
>>> names.insert(1,'Mehdi')
>>> names
['Hossein', 'Mehdi', 'Mohammad']

برای ترکیب دو لیست از علامت + یا تابع extend استفاده می کنیم:

>>> list1=[1,2,3,4,5]
>>> list2=[6,7,8,9,0]
>>> list1=list1+list2
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

ترکیب مثال بالا بوسیله تابع extend:

>>> list1.extend(list2)
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

برای حذف یک آیتم از لیست بر اساس اندیس از دستور del استفاده می شود:

>>> numbers=[0,1,2,3,4,5]
>>> numbers
[0, 1, 2, 3, 4, 5]
>>> del numbers[2]
>>> numbers
[0, 1, 3, 4, 5]

برای حذف یک آیتم بر اساس مقدار آن از تابع remove استفاده می شود:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> numbers
[0, 1, 2, 1, 4, 7, 5, 2]
>>> numbers.remove(2)
>>> numbers
[0, 1, 1, 4, 7, 5, 2]

دقت کنید که تنها اولین مقدار 2 که در لیست وجود داشت حذف شد و ما بقی مقادیر در لیست باقی ماندند.
بوسیله تابع pop می توان یک مقدار را از لیست خواند و بلافاصله حذف کرد. تابع pop اگر بدون پارامتر اجرا شود آخرین آیتم لیست را برگردانده و حذف می کند و در صورت ارسال اندیس، آیتم مورد از اندیس مشخص شده خوانده شده و سپس حذف می شود:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> numbers.pop()
2
>>> numbers
[0, 1, 2, 1, 4, 7, 5]
>>> numbers.pop(3)
1
>>> numbers
[0, 1, 2, 4, 7, 5]

در صورتی که بخواهیم اندیس یک آیتم را بر اساس مقدار آن بدست آوریم از تابع index به صورت زیر استفاه می کنیم:

>>> names=['Hossein','Mehdi','Jaffar','Mohammad']
>>> names.index('Jaffar')
2

برای اینکه بررسی کنیم مقداری در لیست وجود دارد یا خیر، از دستور in به صورت زیر استفاده می کنیم، خروجی دستور in مقادیر true یا false است که true در صورت موجود بودن مقدار در لیست و false در صورت موجود نبودن مقدار در لیست برگردانده می شود:

>>> 'Mohammad' in names
True
>>> 'Reza' in names
False

بوسیله تابع count می توان تعداد تکرار یک مقدار را در لیست بدست آورد:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> numbers.count(2)
2
>>> numbers.count(4)
1
>>> numbers.count(10)
0

یکی از قابلیت هایی که برای لیست می توان استفاده کرد، مرتب سازی لیست است، برای مرتب سازی لیست می توان از دو تابع sort و sorted استفاده کرد، تفاوت این دو تابع در این است که تابع sort لیست مشخص شده را مرتب کرده و نتایج در همان لیست اعمال می شود، اما تابع sorted یک لیست جدید ایجاد کرده و آیتم های مرتب شده را در آن قرار میدهد:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> numbers.sort()
>>> numbers
[0, 1, 1, 2, 2, 4, 5, 7]

مثال تابع sorted:

>>> sorted_numbers=sorted(numbers)
>>> sorted_numbers
[0, 1, 1, 2, 2, 4, 5, 7]

برای بدست آوردن طول یک لیست از تابع len استفاده می شود:

>>> len(numbers)
8

در زبان پایتون می توان یک لیست را داخل یک متغیر جدید قرار داد:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> new_numbers=numbers
>>> new_numbers
[0, 1, 2, 1, 4, 7, 5, 2]

فقط در زمان استفاده از لیست در حالت بالا به یک نکته توجه کنید، با توجه به کد بالا، در صورتی که تغییری در لیست اول ایجاد شود، آن تغییرات در لیست دوم هم منعکس می شوند:

>>> numbers[0]=8
>>> numbers
[8, 1, 2, 1, 4, 7, 5, 2]
>>> new_numbers
[8, 1, 2, 1, 4, 7, 5, 2]

دلیل این موضوع این است که لیست ها در حقیقت یک شئ هستند که به مقادیر ذخیره شده در حافظه اشاره می کنند، زمانی که شما یک لیست را داخل متغیر جدیدی قرار می دهید، در حقیقت آدرس خانه هایی از حافظه که مقادیر در آن ها ذخیره شده اند در متغیر دوم قرار میگیرد و تغییرات انجام شده در هر یک از دو لیست، بر روی لیست دیگر نیز اعمال می شود. برای حل این موضوع و برای کپی کردن یک لیست در متغیر جدید از تابع copy می توانید استفاده کنید:

>>> numbers=[0,1,2,1,4,7,5,2]
>>> new_numbers=numbers.copy()
>>> new_numbers
[0, 1, 2, 1, 4, 7, 5, 2]
>>> numbers[0]=8
>>> numbers
[8, 1, 2, 1, 4, 7, 5, 2]
>>> new_numbers
[0, 1, 2, 1, 4, 7, 5, 2]

در قسمت بعدی آموزش پایتون با Tuple ها آشنا خواهیم شد. ITPRO باشید

نویسنده: حسین احمدی
منبع: جزیره برنامه نویسی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
#لیست_ها_در_پایتون #آموزش_پایتون #آموزش_برنامه_نویسی_پایتون #آموزش_زبان_پایتون #آموزش_برنامه_نویسی
عنوان
1 آموزش پایتون (Python) به زبان خیلی ساده قسمت 1 : آشنایی با پایتون رایگان
2 آموزش پایتون (Python) به زبان خیلی ساده قسمت 2: نوشتن برنامه اول رایگان
3 آموزش پایتون (Python) به زبان خیلی ساده قسمت 3 : ساختار اسکریپت رایگان
4 آموزش پایتون (Python) به زبان خیلی ساده قسمت 4 : نوع داده ها رایگان
5 آموزش پایتون (Python) به زبان خیلی ساده قسمت 5 : تبدیل نوع داده رایگان
6 آموزش پایتون (Python) به زبان خیلی ساده قسمت 6 : عملگرها رایگان
7 آموزش پایتون (Python) به زبان خیلی ساده قسمت 7 : دستور شرطی IF رایگان
8 آموزش پایتون (Python) به زبان خیلی ساده قسمت 8 : حلقه ها رایگان
9 آموزش پایتون (Python) به زبان خیلی ساده قسمت 9 : توابع عددی و عدد رایگان
10 آموزش پایتون (Python) به زبان خیلی ساده قسمت 10 : رشته و توابع آن رایگان
11 آموزش پایتون (Python) به زبان خیلی ساده قسمت 11 : لیست ها رایگان
12 آموزش پایتون (Python) به زبان خیلی ساده قسمت 12 : Tuple ها رایگان
13 آموزش پایتون (Python) به زبان خیلی ساده قسمت 13 : دیکشنری ها رایگان
14 آموزش پایتون (Python) به زبان خیلی ساده قسمت 14 : مجموعه ها Sets رایگان
15 آموزش پایتون (Python) به زبان خیلی ساده قسمت 15 : Zip و پیمایش رایگان
16 آموزش پایتون (Python) به زبان خیلی ساده قسمت 16 : Comprehension رایگان
17 آموزش پایتون (Python) به زبان خیلی ساده قسمت 17 : توابع (Function رایگان
18 آموزش پایتون (Python) به زبان خیلی ساده قسمت 18 : Closure ها رایگان
19 آموزش پایتون (Python) به زبان خیلی ساده قسمت 19 : توابع بازگشتی رایگان
20 آموزش پایتون (Python) به زبان خیلی ساده قسمت 20 : ماژول ها رایگان
21 آموزش پایتون (Python) به زبان خیلی ساده قسمت 21 : پکیج ها رایگان
22 آموزش پایتون (Python) به زبان خیلی ساده قسمت 22 : شی گرایی رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....