برنامه نویسی و طراحی سایت

تبدیل لیست به دیکشنری در پایتون — از صفر تا صد و رایگان

تبدیل لیست به دیکشنری در پایتون — از صفر تا صد و رایگان

در زبان برنامه‌ نویسی پایتون می‌توان از انواع ساختارهای داده‌ای متفاوت برای سازمان‌دهی داده‌ها استفاده کرد. دو نوع داده (Data Type) رایج در پایتون، «لیست» (List) و «دیکشنری» (Dictionary) هستند که هر کدام از آن‌ها کاربرد و ویژگی خاص خود را دارند. برنامه‌ نویس در پروژه‌های برنامه‌ نویسی بنا به نیاز خود می‌تواند هر یک از این ساختار داده‌ها را به یکدیگر تبدیل کند. در مقاله حاضر، پس از معرفی مختصر دو نوع ساختار داده لیست و دیکشنری، به انواع روش‌های مختلف برای تبدیل لیست به دیکشنری در پایتون پرداخته می‌شود.

فهرست مطالب این نوشته
نوع داده لیست در پایتون چیست ؟

نوع داده دیکشنری در پایتون چیست ؟

روش های تبدیل لیست به دیکشنری در پایتون کدامند ؟

معرفی فیلم های آموزش پایتون

تبدیل لیست به دیکشنری در پایتون با استفاده از حلقه For

تبدیل لیست به دیکشنری در پایتون با استفاده از تابع Zip()‎

تبدیل لیست پایتون به دیکشنری با برش زدن (Slicing)

تبدیل لیست پایتون به دیکشنری با استفاده از دستور Enumerate()‎

تبدیل لیست به دیکشنری در پایتون با استفاده از dict.fromkeys()‎

تبدیل لیستی از تاپل‌ها به دیکشنری

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

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

استفاده از حلقه For برای تبدیل دو لیست با طول یکسان به دیکشنری

استفاده از تابع Zip()‌‎ برای تبدیل دو لیست با طول یکسان به دیکشنری

تبدیل دو لیست با طول‌های متفاوت به دیکشنری

نحوه تبدیل لیستی از دیکشنری ها به دیکشنری در پایتون چگونه است ؟

تبدیل لیستی از دیکشنری‌ها به دیکشنری با استفاده از dict.update()‎

تبدیل لیستی از دیکشنری‌ها به دیکشنری با استفاده از Dictionary Comprehension

کاربرد Collenctions.ChainMap برای تبدیل لیستی از دیکشنری‌ها به دیکشنری

تبدیل لیست‌ های تودرتو به دیکشنری در پایتون با Dictionary Comprehension

تبدیل لیست به دیکشنری در پایتون با Counter‎

جمع‌بندی

faradars mobile

نوع داده لیست در پایتون چیست ؟

نوع داده لیست، یکی از رایج‌ترین و پرکاربردترین ساختارهای داده‌ پایتون است که از آن می‌توان برای ذخیره مقادیر مختلف به صورت متوالی استفاده کرد. لیست در پایتون، مشابه ساختار داده «آرایه» (Array) در سایر زبان‌های برنامه‌ نویسی است؛ با این حال، برخلاف آرایه، لیست‌های پایتون می‌توانند مقادیری با انواع داده مختلف را ذخیره کنند. ساختار داده لیست در پایتون دارای ویژگی‌هایی است که در ادامه فهرست شده‌اند:

  • قابل ویرایش بودن مقادیر درون لیست پس از تعریف ساختار داده لیست
  • قابلیت اندیس‌گذاری برای مقادیر درون لیست به‌منظور حفظ ترتیب مقادیر و دسترسی به آن‌ها
  • قابلیت ذخیره مقادیر تکراری برخلاف سایر ساختارهای داده پایتون نظیر دیکشنری و «مجموعه» (Set)
  • قابلیت ایجاد ساختار داده‌های تودرتو درون لیست
آموزش داده ساختارهای Dictionary و Set در پایتون (رایگان)
فیلم آموزش داده ساختارهای Dictionary و Set در پایتون (رایگان) در تم آف

کلیک کنید

در زبان پایتون می‌توان از «قلاب» (براکت | کروشه)  یعنی «[ ]»  برای تعریف لیست استفاده کرد. هر یک از آیتم‌های درون لیست نیز با علامت ویرگول انگلیسی (کاما) از یکدیگر جدا می‌شوند و با اندیس می‌توان به آیتم‌های لیست دسترسی داشت. در مثال زیر، نمونه‌ای از لیست با داده‌های متفاوت ملاحظه می‌شود:

# Create a new list
list_example = ["name", "python", "version", 3.9]

نوع داده دیکشنری در پایتون چیست ؟

ساختار داده دیکشنری به عنوان یکی دیگر از انواع داده پرکاربرد در پایتون محسوب می‌شود. می‌توان از دیکشنری به‌منظور ذخیره آیتم‌ها به شکل جفتی از «کلید» (Key) و «مقدار» (Value) استفاده کرد. ساختار داده دیکشنری پایتون دارای ویژگی‌های مختلفی است که در ادامه فهرست شده‌اند:

  • ذخیره آیتم‌های دیکشنری بدون لحاظ کردن ترتیب
  • دسترسی به مقادیر دیکشنری با استفاده از کلید
  • عدم استفاده از مقادیر تکراری برای کلیدهای دیکشنری
  • استفاده از ساختار داده‌های مختلف برای تعریف کلیدهای دیکشنری

به‌منظور تعریف دیکشنری در پایتون از علامت آکولاد ({}‌ )   استفاده می‌شود. هر یک از آیتم‌های درون دیکشنری (یعنی جفت‌های کلید و مقدار) نیز با کاما از یکدیگر جدا می‌شوند و برای نگاشت کلید دیکشنری به مقدار آن می‌توان از علامت دونقطه «:‌»  استفاده کرد. در مثال زیر، نمونه‌ای از تعریف دیکشنری ملاحظه می‌شود:

# Create a new dictionary
dict_a = {"Param1": "value1", "Param2": "value2"}
print('dict_a: ', dict_a)

# Create a new dictionary with tuple keys
dict_b = {(1, 10): "value1", (1,20): "value2"}
print('dict_b: ' , dict_b)

خروجی قطعه کد فوق، به صورت زیر است:

dict_a: {'Param1': 'value1', 'Param2': 'value2'}
dict_b: {(1, 10): 'value1', (1, 20): 'value2'}

روش های تبدیل لیست به دیکشنری در پایتون کدامند ؟

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

آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python

کلیک کنید

  • استفاده از حلقه For برای تبدیل لیست به دیکشنری
  • استفاده از تابع Zip()‎

    به‌منظور تبدیل لیست به دیکشنری در پایتون

  • تبدیل لیست به دیکشنری با استفاده از روش «برش» (Slicing)
  • استفاده از دستور enumerate()‎

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

  • تبدیل لیست به دیکشنری در پایتون با استفاده از dict.fromkeys()‎
  • تبدیل لیستی از «تاپل‌ها» (Tuples) به دیکشنری
  • تبدیل دو لیست به دیکشنری در پایتون
    • تبدیل دو لیست با طول یکسان به دیکشنری
      • استفاده از حلقه For برای تبدیل دو لیست با طول یکسان به دیکشنری
      • تبدیل دو لیست با طول یکسان به دیکشنری با استفاده از تابع Zip()‎
    • تبدیل دو لیست با طول‌های متفاوت به دیکشنری
  • تبدیل لیستی از دیکشنری‌ها به دیکشنری
    • استفاده از dict.update()‎
    • استفاده از Dictionary Comprehension
    • استفاده از Collenctions.ChainMap

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

معرفی فیلم های آموزش پایتون

فیلم های آموزش پایتون تم آف

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

  • برای دسترسی به همه آموزش های پایتون تم آف + اینجا کلیک کنید.

 تبدیل لیست به دیکشنری در پایتون با استفاده از حلقه For

از حلقه For می‌توان برای تبدیل نوع داده لیست به دیکشنری استفاده کرد. می‌توان این حلقه را به‌ صورت ساده یا با استفاده از List Comprehension به کار برد. در قطعه کد زیر، نمونه‌ای از کاربرد List Comprehension برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Using For loop for converting a list to a dictionary
m = ["frog", "dog", "Goat", "cat"]
d = {m[a]:m[a + 1] for a in range(0, len(m), 2)}
print(d)

خروجی قطعه کد فوق، به صورت زیر است:

Output: {'frog': 'dog', 'Goat': 'cat'}

تبدیل لیست به دیکشنری در پایتون با استفاده از تابع Zip()‎

می‌توان به جای حلقه For از تابع Zip()‎

 برای تبدیل لیست به دیکشنری در پایتون استفاده کرد. این روش، ساده‌تر و بهینه‌تر از روش قبلی است. در قطعه کد زیر، مثالی از کاربرد تابع Zip()‎

برای تبدیل لیست به دیکشنری ملاحظه می‌شود.

# Using Zip function for converting a list to a dictionary
a = iter(m) # spin up an iterator on the list
result = dict(zip(a, a)) # Convert the iterated items into key-value pairs
print(result)

خروجی قطعه کد فوق، به صورت زیر است:

Output: {'frog': 'dog', 'Goat': 'cat'}

چنانچه تعداد آیتم‌های درون لیست، فرد باشد، تابع Zip()‎

آیتمی را نادیده می‌گیرد که بدون جفت باقی می‌ماند. به عنوان مثال، اگر طول لیست، برابر با 5 باشد، تابع Zip()‎

پنجمین آیتم لیست را نادیده گرفته و فقط برای چهار آیتم اول لیست، تاپل ایجاد می‌کند. در قطعه کد زیر، مثالی از توضیح ارائه شده ملاحظه می‌شود.

# Using Zip function for converting a list to a dictionary
m = ["first", "second", "third", "fourth", "fifth_odd"]
a = iter(m)
result = dict(zip(a, a))
print(result)

خروجی قطعه کد فوق، به صورت زیر است:

Output: {'first': 'second', 'third': 'fourth'}

تبدیل لیست پایتون به دیکشنری با برش زدن (Slicing)

برش (Slicing) لیست جدیدی را با استفاده از لیست تعریف شده از قبل، ایجاد می‌کند. به عبارتی، می‌توان با استفاده از مشخص کردن بازه اندیس‌ها و گام‌ها، برخی از آیتم‌های لیست را به صورت زیر استخراج کرد.

list[i:j:k] — slice of list from i to j with step k

در مثال زیر، نحوه استفاده از روش برش برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود. در این مثال، لیستی با عنوان l1

 تعریف شده است که با استفاده از روش برش، دو لیست جدید با عنوان‌های l2

و l3

از روی لیست l1

ایجاد می‌شوند. آیتم‌های لیست l2

به عنوان کلیدها و آیتم‌های لیست l3

به عنوان مقادیر کلیدها در نظر گرفته شده‌اند. در نهایت، با استفاده از تابع Zip()‎

، تاپل‌هایی از جفت آیتم‌های l2

و l3

ایجاد شده که در نهایت با دستور dict()‎

 به جفت مقادیر کلید-مقدار تبدیل می‌شوند.

l1 = [1,'a',2,'b',3,'c',4,'d']
#Creating list containing keys alone by slicing
l2 = l1[::2]
#Creating list containing values alone by slicing
l3 = l1[1::2]
#merging two lists uisng zip()
z = zip(l2,l3)
#Converting zip object to dict using dict() constructor.
print (dict(z))

خروجی قطعه کد فوق، به صورت زیر است:

Output:{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

تبدیل لیست پایتون به دیکشنری با استفاده از دستور Enumerate()‎

از تابع enumerate()‎

 می‌توان برای تبدیل لیست به دیکشنری در پایتون استفاده کرد. با استفاده از این دستور، به تعداد آیتم‌های لیست، اندیس‌هایی (با شروع از مقدار صفر) ایجاد می‌شوند که می‌توان با استفاده از دستور dict()‎

 ، اندیس‌ها را به کلید و آیتم‌های لیست را به مقادیر کلیدها تبدیل کرد. در قطعه کد زیر، نحوه استفاده از دستور enumerate()‎

 برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Using Enumerate function for converting a list to a dictionary
l1 = ['a','b','c','d']
d1 = dict(enumerate(l1))
print (d1)

خروجی قطعه کد فوق، به صورت زیر است:

Output:{0: 'a', 1: 'b', 2: 'c', 3: 'd'}

تبدیل لیست به دیکشنری در پایتون با استفاده از dict.fromkeys()‎

پارامترهای ورودی دستور dict.fromkeys()‎

 ، لیستی از کلیدها و مقدار خاصی برای تخصیص به کلیدها هستند. به عبارتی، با استفاده از این دستور می‌توان مقدار یکسانی را به لیستی از کلیدها اختصاص داد. در قطعه کد زیر، مثالی از نحوه کاربرد دستور dict.fromkeys()‎

 برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Using dict.fromkeys()‎ for converting a list to a dictionary
l1 = ['red','blue','orange']
d1 = dict.fromkeys(l1,"colors")
print (d1)

خروجی قطعه کد فوق، به صورت زیر است:

#Output:{'red': 'colors', 'blue': 'colors', 'orange': 'colors'}

تبدیل لیستی از تاپل‌ها به دیکشنری

چنانچه لیستی از تاپل‌ها تعریف شده باشد، می‌توان با دستور dict()

 به‌راحتی و مستقیماً یک دیکشنری با جفت مقادیر کلید-مقدار ایجاد کرد. مثال زیر، روش تبدیل لیست به دیکشنری را با استفاده از دستور dict()

 و لیستی از تاپل‌ها نشان می‌دهد.

# Converting list of tuples to dictionary by using dict() constructor
color = [('red',1),('blue',2),('green',3)]
d = dict(color)
print(d)

خروجی قطعه کد فوق، در ادامه آمده است:

Output:{'red': 1, 'blue': 2, 'green': 3}

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

چنانچه نیاز باشد دو لیست پایتون را به یک دیکشنری تبدیل کرد، در ابتدا باید بررسی کرد که آیا طول دو لیست، یکسان هستند یا طول مختلفی دارند. روش‌های مجزایی برای تبدیل دو لیست با طول مشابه و مغایر وجود دارد که در ادامه فهرست شده‌اند:

  • تبدیل دو لیست با طول یکسان به دیکشنری
    • استفاده از حلقه For برای تبدیل دو لیست با طول یکسان به دیکشنری
    • تبدیل دو لیست با طول یکسان به دیکشنری با استفاده از تابع Zip()‎
  • تبدیل دو لیست با طول‌های متفاوت به دیکشنری
    • استفاده از تابع Zip_Longest()‎

       برای تبدیل دو لیست با طول‌های متفاوت به دیکشنری

آموزش برنامه نویسی پایتون + مثال های عملی در Python
فیلم آموزش برنامه نویسی پایتون + مثال های عملی در Python در تم آف

کلیک کنید

در ادامه، به توضیح هر یک از روش‌های فوق به همراه مثالی از پایتون پرداخته می‌شود.

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

به‌منظور تبدیل دو لیست با طول یکسان به دیکشنری در پایتون می‌توان از دو روش حلقه For و تابع Zip()‎

استفاده کرد که در ادامه با ارائه مثال به آن‌ها پرداخته می‌شود.

استفاده از حلقه For برای تبدیل دو لیست با طول یکسان به دیکشنری

با استفاده از حلقه For‌ می‌توان آیتم‌های درون دو لیست با طول یکسان را به جفت مقادیر کلید-مقدار تبدیل کرد. در قطعه کد زیر، نحوه استفاده از این روش در قالب مثال ملاحظه می‌شود.

# Converting 2 lists with the same length to a dictionary by For loop
list1 = ["frog","dog", "Goat", "cat", "jog"]
list2 = [1, 3, 24, 56
result = {list2[a]:list1[a] for a in range(len(list2))}
print(result)

خروجی قطعه کد فوق، به صورت زیر است:

Output: {1: 'frog', 3: 'dog', 24: 'Goat', 56: 'cat'}

استفاده از تابع Zip()‌‎ برای تبدیل دو لیست با طول یکسان به دیکشنری

چنانچه دو لیست با طول یکسان وجود داشته باشند، می‌توان با استفاده از تابع Zip()‎

یک دیکشنری جدید با مقادیر دو لیست ایجاد کرد. خروجی تابع Zip()‎

مجموعه‌ای از تاپل‌ها است. با استفاده از دستور dict()‌‎

 می‌توان خروجی Zip()‎

را به دیکشنری تبدیل کرد. در قطعه کد زیر، مثالی از تابع Zip()‎

برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Converting 2 lists with the same length to a dictionary by Zip function
l1 = [1,2,3,4]
l2 = ['a','b','c','d']
d1 = zip(l1,l2)
#Converting zip object to dict using dict() contructor.
print (dict(d1))

خروجی قطعه کد فوق، به صورت زیر است:

Output:{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

تبدیل دو لیست با طول‌های متفاوت به دیکشنری

به‌منظور تبدیل دو لیست با طول‌های متفاوت به دیکشنری در پایتون می‌توان از تابع Zip_Longest()‎

استفاده کرد. این تابع به صورت پیش‌فرض به کلیدهایی که مقدار ندارند، مقدار None را اختصاص می‌دهد. در مثال زیر، نحوه کاربرد تابع Zip_Longest()‎

به‌منظور تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Converting 2 lists different lengths to a dictionary by Zip_Longest function
from itertools import zip_longest
list1 = ["Cat", "Dogs", "Rats", "Fruits", "ducks"]
list2 =[1, 4, 6]
a = dict(zip_longest(list1, list2))
print(a)

خروجی قطعه کد فوق، به صورت زیر است:

Output: {'Cat': 1, 'Dogs': 4, 'Rats': 6, 'Fruits': None, 'ducks': None}

تابع Zip_Longest()‎

دارای پارامتری با عنوان fillvalue

 است که با استفاده از آن می‌توان مقدار پیش‌فرض کلیدهایی را مشخص کرد که دارای مقدار نیستند. در قطعه کد زیر، مقدار 10 برای کلیدهای Fruits و Ducks درنظر گرفته شده است.

a = dict(zip_longest(list1, list2, fillvalue="10"))
print(a)

خروجی قطعه کد فوق، در ادامه ملاحظه می‌شود.

Output: {'Cat': 1, 'Dogs': 4, 'Rats': 6, 'Fruits': '10', 'ducks': '10'}

نحوه تبدیل لیستی از دیکشنری ها به دیکشنری در پایتون چگونه است ؟

به‌منظور تبدیل لیستی از دیکشنری‌ها به یک دیکشنری در پایتون می‌توان از سه روش استفاده کرد:

  • استفاده از dict.update()‎
  • استفاده از Dictionary Comprehension
  • استفاده از Collenctions.ChainMap

در ادامه، به نحوه استفاده از هر سه روش ذکر شده در بالا به همراه مثال پرداخته می‌شود.

تبدیل لیستی از دیکشنری‌ها به دیکشنری با استفاده از dict.update()‎

با استفاده از حلقه For به‌منظور پیمایش آیتم‌های لیست و دستور dict.update()‎

 می‌توان مقادیر لیست را در دیکشنری جدیدی ذخیره کرد. در مثال زیر، نمونه‌ای از کاربرد دستور dict.update()‎

 برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Converting a list of dictionaries to a dictionary by dict.update() 
l1 = [{1:'a',2:'b'},{3:'c',4:'d'}] 
d1={} 
for i in l1: d1.update(i) 
print (d1)

خروجی قطعه کد فوق، به صورت زیر است:

Output:{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
آموزش رایگان پایتون – برنامه نویسی سریع و آسان در ۱۴۰ دقیقه
فیلم آموزش رایگان پایتون – برنامه نویسی سریع و آسان در ۱۴۰ دقیقه در تم آف

کلیک کنید

تبدیل لیستی از دیکشنری‌ها به دیکشنری با استفاده از Dictionary Comprehension

به‌منظور تبدیل لیستی از دیکشنری‌ها به دیکشنری در پایتون می‌توان از Dictionary Comprehension استفاده کرد. در مثال زیر، نحوه استفاده از این روش ملاحظه می‌شود.

# Converting a list of dictionaries to a dictionary by Dictionary Comprehension
l1 = [{1:'a',2:'b'},{3:'c',4:'d'}] 
d1 = {k:v for e in l1 for (k,v) in e.items()} 
print(d1)

خروجی قطعه کد فوق، به صورت زیر است:

Output:{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

در قطعه کد فوق، دستور for e in l1

 پیمایشی بر روی لیست l1 انجام می‌دهد و آیتم‌های لیست l1 را برمی‌گرداند. دستور for (k,v) in e.items()‎

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

کاربرد Collenctions.ChainMap برای تبدیل لیستی از دیکشنری‌ها به دیکشنری

با استفاده از کتابخانه Collections می‌توان لیستی از دیکشنری‌ها را به یک دیکشنری در پایتون تبدیل کرد. در قطعه کد زیر، می‌توان نحوه استفاده از این کتابخانه را در قالب مثال ملاحظه کرد.

# Converting a list of dictionaries to a dictionary by Collections Library
 l1 = [{1:'a',2:'b'},{3:'c',4:'d'}] 
from collections import ChainMap 
d3 = ChainMap(*l1) 
print (d3) # Converting ChainMap object to dict using dict() constructor. 
print(dict(d3))

خروجی قطعه کد فوق، به صورت زیر است:

Output:ChainMap({1: 'a', 2: 'b'}, {3: 'c', 4: 'd'})
Output:{3: 'c', 4: 'd', 1: 'a', 2: 'b'}

نوع خروجی دستور ChainMap شئ‌ ChainMap Object است که می‌توان آن را با دستور dict()‎

 به دیکشنری تبدیل کرد.

تبدیل لیست‌ های تودرتو به دیکشنری در پایتون با Dictionary Comprehension

می‌توان لیست‌های تودرتو را با روش Dictionary Comprehension به دیکشنری پایتون تبدیل کرد. در مثال زیر، نحوه استفاده از این روش برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Converting a nested list to a dictionary by Collections Library
l1 = [[1,2],[3,4],[5,[6,7]]] 
d1 = {x[0]:x[1] for x in l1} 
print(d1)

خروجی قطعه کد فوق، به صورت زیر است:

Output:{1: 2, 3: 4, 5: [6, 7]}

تبدیل لیست به دیکشنری در پایتون با Counter‎

با استفاده از کتابخانه Collections و کلاس Counter()

می‌توان لیست را به دیکشنری تبدیل کرد. کلاس Counter()

 به‌منظور شمارش آیتم‌های یکتای لیست استفاده می‌شود. به عبارتی، کلاس Counter()

لیست را به جفت مقادیر کلید و بسامد کلید در لیست تبدیل می‌کند. در قطعه کد زیر، نحوه استفاده از این کلاس برای تبدیل لیست به دیکشنری در پایتون ملاحظه می‌شود.

# Converting a list to a dictionary by Counter Class from Collections Library
from collections import Counter 
c1 = Counter(['c','b','a','b','c','a','b']) # key are elements and corresponding values are their frequencies 
print(c1) 
print(dict(c1))

خروجی قطعه کد فوق، به صورت زیر است:

Output:Counter({'b': 3, 'c': 2, 'a': 2})
Output:{'c': 2, 'b': 3, 'a': 2}

جمع‌بندی

دیکشنری پایتون یکی از انواع ساختار داده‌ای است که دسترسی به آیتم‌های ذخیره شده را ساده می‌کند. به همین دلیل، در بسیاری از پروژه‌های برنامه‌ نویسی نیاز است که از این ساختار داده استفاده شود یا انواع دیگر ساختار داده‌ها را به دیکشنری تبدیل کرد. در مقاله حاضر با عنوان «تبدیل لیست به دیکشنری در پایتون — از صفر تا صد و رایگان» ضمن توضیح انواع روش‌های تبدیل لیست به دیکشنری، برای هر یک از این روش‌ها مثال‌هایی کاربردی ارائه شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.