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


countries = [
    'China', 'United States', 'Brazil', 
    'Mexico', 'Japan', 'Vietnam', 
    'Egypt', 'France', 'Poland', 
    'Peru', 'Angola', 'Cuba'
]
populations = [
    1437667374, 330397596, 212101777, 
    128515225, 126593764, 97073748, 
    101738000, 65224185, 37861667,
    32841517, 32544138, 11328301
]

اولین راهی که به ذهن می رسد این است که از یک ایندکس برای دسترسی به عناصر لیست بهره ببریم. این عمل با کمک حلقه های while و for امکانپذیر است.


# (1)
i = 0
while i < len(countries):
    print(countries[i])
    i += 1

# (2)
for j in range(len(populations)):
    print(populations[j])

هرچند این عملیات از نظر کارکرد و نتیجه درست هستند اما استفاده از آن ها منطقی به نظر نمی رسد. در این روشِ استفاده از حلقه ها از ویژگی های خاص پایتون استفاده نشده است. در پایتون دیتاتایپ هایی مثل لیست و دیکشنری به صورت پیش فرض iterable هستند که به این معنی است که می توان با کمک حلقه ی for مستقیم به عناصر دسترسی داشت و آن ها را یکی یکی برشمرد. این حلقه دقیقا نتیجه ای برابر کد (۱) دارد ولی استفاده از آن بهتر است.


# (3)
for country in countries:
    # do something with country
    print(country)

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


# (4)
i = 1
for country in countries:
    print(i, country)
    i += 1

به جای کد (۴) و تعریف ایندکس جداگانه راه حل زیر، روش بسیار بهتری است.

# (5)
for index, country in enumerate(countries):
    print(index+1, country)

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


# (6)
i = 0
for i in range(len(countries)):
    country = countries[i]
    population = populations[i]
    print(country, ':', population)

به جای این روش بهتر است از راه زیر استفاده کرد.


# (7)
for country, population in zip(countries, populations):
    print(country, ':', population)

 

در این پست دیدیم که چطور با کمک ویژگی های پایتون می توان عناصر لیست را تکرار کرد. از این ویژگی ها می توان برای دسترسی به همه ی اشیایی که iterable هستند استفاده کرد.

 


مشخصات

تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

عکس سریال های کره ای چکامه نمونه سوالات ریاضی اسفند ملیح ملکی مشاوره پایان نامه حسابداری گروه تحقیقاتی محاسبات ذهنی دانلود تحقیق ..... qefrewf.parsablog.com Jennifer Shelia