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

 

نوع داده list در پایتون

لیست در پایتون نوعی از داده است که میتواند همزمان چند آبجکت را در خود ذخیره کند. لیست پایتون مشابه آرایه در زبان های برنامه نویسی دیگر است اما با انعطاف پذیری بیشتر. لیست ها در پایتون با استفاده از یک جفت براکت  [ ]   ایجاد میشوند. آبجکت هایی که در لیست ها ذخیره میشوند با نام آیتم(item) شناخته میشوند. list های پایتون برای کار با آبجکت های مشابه عالی هستند.

 

در مثال زیر یک لیست به نام a ایجاد کردیم و انواع آبجکت های مختلف را در آن ذخیره کردیم:

>>> a = [True, 'bar', 34, 'qux']
>>> a
[True, 'bar', 34, 'qux']

 

همچنین میتوانید در پایتون لیست های تودرتو نیز ایجاد کنید. برای ایجاد کردن لیست تودرتو در پایتون باید داخل براکت بیرونی، یک براکت دیگر ایجاد کنید:

cars = ['benz', 'bmw', ['audi', 'pride'], 'ford', 'tesla']

 

ویژگی لیست های پایتون

ویژگی های مهم لیست های پایتون به شرح زیر است:

  • لیست های پایتون مرتب(ordered) هستند به این معنی که ترتیب ورود اطلاعات در آنها حفظ میشود.
  • لیست ها میتوانند هر نوع آبجکتی را در خود ذخیره کنند.
  • به آیتم های درون لیست میتوان با ایندکس دسترسی داشت.
  • لیست های پایتون میتوانند تا عمق دلخواه تودرتو باشند.
  • لیست ها تغییر پذیر هستند یعنی میتوان آیتم های آنها را تغییر داد.
  • لیست ها پویا هستند به معنی که میتوان تعداد آیتم های آنها را کم یا زیاد کرد.

 

برای یادگیری حرفه‌‌ای‌تر کار با لیست‌ها پیشنهاد میکنیم ویدیو آموزش list comprehension در پایتون را ببینید.

 

دسترسی به آیتم های لیست در پایتون

چند روش وجود دارد که با آن میتوانید به اعضای یک لیست دسترسی پیدا کنید. تمام اعضای لیست دارای یک عدد هستند که موقعیت آنها را در لیست مشخص میکند. به این عدد ایندکس(index) گفته میشود. شماره گذاری ایندکس در لیست های پایتون از صفر شروع میشود، پس اولین آیتم لیست دارای ایندکس صفر است و اگر لیستی 7 عضو داشته باشد، ایندکس آخرین عضو آن 6 خواهد بود.

 

اگر ایندکسی را استفاده کنید که در لیست وجود ندارد با پیغام خطای IndexError مواجه خواهید شد. شماره ایندکسی که استفاده میکنید باید یک عدد(integer) باشد در غیر اینصورت با خطای TypeError مواجه خواهید شد.

 

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

cars = ['benz', 'bmw', 'ford', 'tesla']

 

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

>>> cars[0]
benz
>>> cars[3]
tesla

 

اما اگر از اعدا منفی استفاده کنید شمارش از آخر لیست شروع میشود. در این صورت عدد 1- به آخرین آیتم لیست اشاره میکند، عدد 2- به آیتم یکی مانده به آخر و تا آیتم اول:

>>> cars[0]
tesla
>>> cars[3]
ford

 

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

دسترسی به آیتم های لیست در پایتون با عدد منفی

اگر لیستی که دارید تودرتو است باید از دو ایندکس استفاده کنید:

>>> cars = ['benz', 'bmw', ['audi', 'pride'], 'ford', 'tesla']
>>> cars[2][1]
pride

 

برش لیست در پایتون

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

>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> cars[1:3]
['bmw', 'ford']

 

همانطور که در مثال بالا میبینید، با یک دو نقطه یک لیست را برش زدیم. عدد اول شروع محدوده و عدد دوم انتهای محدوده را مشخص میکند. دقت کنید که عدد دوم خودش شامل نیست.

 

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

>>> cars[:]
['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']

 

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

>>> cars[:3]
['benz', 'bmw', 'ford']

 

اگر عدد دوم را خالی بگذارید تا آخر لیست را برش میدهد:

>>> cars[3:]
['tesla', 'audi', 'ferrari']

 

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

>>> cars[-5:-3]
['bmw', 'ford']

 

تغییر لیست در پایتون

لیست های پایتون برخلاف رشته ها و تاپل ها تغییر پذیر(mutable) هستند به این معنی که میتوان آیتم های آنها را تغییر داد. اگر بخواهید مقدار یکی از ایندکس های لیست را تغییر دهید باید از علامت مساوی  استفاده کنید:

>>> cars = ['benz', 'bmw','ford', 'tesla']
>>> cars[1] = 'ferrari'
>>> cars
['benz', 'ferrari', 'ford', 'tesla']

 

همچنین میتوانید یک محدوده از لیست را تغییر دهید که در این صورت ابتدا باید لیست را برش دهید و سپس مقادیر جدید را جایگزین کنید:

>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> cars[1:3] = ['honda', 'toyota']
>>> cars
['benz', 'honda', 'toyota', 'tesla', 'audi', 'ferrari']

 

دریافت طول یک list در پایتون

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

>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> len(cars)
6

 

برای یادگیری متدهایی که در لیست‌ها در دسترس هستند میتوانید ویدیو آموزش متدهای مربوط به لیست‌ها در پایتون را ببینید.



0

Intro

10:38

رایگان

1

Variable

12:30

رایگان

2

String

19:22

رایگان

3

List

8:46

رایگان

4

While

9:6

رایگان

5

If

8:37

رایگان

6

For

6:12

رایگان

7

range

4:17

رایگان

8

break, continue, pass

9:15

رایگان

9

Function

12:32

رایگان

10

List methods

12:11

رایگان

11

Tuple

8:29

رایگان

12

Set

7:47

رایگان

13

Dictionary

9:19

رایگان

14

Module

10:40

رایگان

15

fstring

5:35

رایگان

16

format

7:34

رایگان

17

File

17:14

رایگان

18

Scope

6:25

رایگان

19

OOP

12:15

رایگان

20

Method

20:19

رایگان

21

class/instance variable

14:7

رایگان

22

class/static method

13:25

رایگان

23

Inheritance

17:6

رایگان

24

Special methods

9:50

رایگان

25

Access points

11:12

رایگان

26

property

6:54

رایگان

27

Exceptions

21:17

رایگان

28

Standard library

12:51

رایگان

29

Docstring

10:49

رایگان

30

Virtualenv

11:2

رایگان

دوره های پیشنهادی

دوره آموزش داکر
دوره آموزش داکر
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش لینوکس(linux)
دوره آموزش لینوکس(linux)
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش وب اسکرپینگ(web scraping) در پایتون
دوره آموزش وب اسکرپینگ(web scraping) در پایتون
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


عباس نیک نژاد قلعه کل

5 ماه قبل پاسخ به نظر

باید عرض کنم واقعاً از صبحت های آموزنده و آموزش‌ها ی مفید جناب دکتر کمال تشکر را دارم واقعاً استفاده کردم از هر نظر بسیار عالی بود ممنون از لطفتون نسبت به باز نشستگان دارید از خداوند منان امیدوارم همیشه شاد تندرست و عاقبت به خیر باشید وسایه تان همیشه بالا سر سالمندان مستدام باشد انشاالله

ارسال نظر



امیرحسین بیگدلو

5 ماه قبل

:|

Reza

1 سال قبل پاسخ به نظر

سلام.
چطورمی توانم یک لیست که برای ذخیره تیدیل به رشته شده را دوباره تبدیل به لیست کنم. بادستور list تمام حروف از هم جدا میشوند. البته می شود با چند خط برنامه انجام داد ولی حتما روش ساده تری وجود دارد.
ممنون.

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
این ویدیو رو ببین:
https://www.mongard.ir/one_part/72/python-join-split/

الهام

1 سال قبل پاسخ به نظر

آقای بیگدولو میشه به پرسم از چه برنامه ای برای ضبط اسکرین استفاده میکنین؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

Kazam

لیست خالی

2 سال قبل پاسخ به نظر

چطور باید چک کنیم که یک لیست خالیه یا نه؟

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
باید داخل شرط چک کنید. مثلا یک لیست خالی دارید به اسم a که میخواید ببینید خالیه یا نه:
if not a:
print('list is empty')

مونگارد