آموزش :: آموزش زبان پایتون :: قسمت یازدهم - لیست ها
درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

جهت دریافت مدرک با مراجعه به به این بخش و ورود به دوره مورد نظر، بر روی گزینه دریافت مدرک کلیک کرده، اطلاعات خود را تکمیل کنید تا پروسه صدور مدرک برای شما طی شود.

صدور مدرک تنها برای دوره هایی که به صورت کامل خریداری شده و قیمت آن ها بالای 100،000 تومان باشد انجام خواهد شد.

جشنواره تخفیف شگفت انگیز زمستانه توسینسو

تا سقف 70 درصد تخفیف + ترافیک نیم بها + پشتیبانی محصولات توسط اساتید + ارائه گواهینامه پایان دوره

تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
حسین احمدی
امتیاز: 213993
رتبه:3
342
258
412
2788
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

آموزش زبان پایتون :: قسمت یازدهم - لیست ها

تاریخ 24 ماه قبل
نظرات 0
بازدیدها 1114
در زبان پایتون یک لیست شامل مقادیر مختلفی است که به صورت یک متغیر تعریف می شوند. برای مثال، شما می توانید لیستی تعریف کنید با نام 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 "<stdin>", line 1, in <module>
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 آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
2 آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
3 آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
4 آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
5 آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
6 آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
7 آموزش زبان پایتون :: قسمت هفتم - دستور if
8 آموزش زبان پایتون :: قسمت هشتم - حلقه ها
9 آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
10 آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
11 آموزش زبان پایتون :: قسمت یازدهم - لیست ها
12 آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
13 آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
14 آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
15 آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
16 آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
17 آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
18 آموزش زبان پایتون :: قسمت هفدهم - Closure ها
19 آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
20 آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
21 آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
22 برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید