بکندباز

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

در این مقاله نحوه تبدیل دیکشنری پایتون به لیست را به شما نشان خواهیم داد. بسته به اینکه چه هدفی از این تبدیل داشته باشید روش های مختلفی وجود دارد. مثلاً شاید بخواهید فقط کلید ها را در قالب یک لیست استخراج کنید یا فقط مقادیر را یا …

در زیر روش هایی برای انجام این کار آورده شده است:

  1. با استفاده از لیست و متد items()‎
  2. استفاده از متد keys()‎.
  3. با استفاده از متد values()‎.
  4. استفاده از list comprehension
  5. با استفاده از تابع Zip()‎
  6. با استفاده از تابع map()‎.
  7. استفاده از حلقه for و متد items()‎

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

کلاس دیکشنری پایتون سه متد برای استخراج لیست از آن دیکشنری دارد. متد items()، keys()‎ و values()‎.

با استفاده از تابع list()‎ و متد items()‎

کلاس دیکشنری پایتون متدی به نام ()items را ارائه می دهد که یک دنباله تکرارپذیر از تمام جفت های کلید-مقدار در دیکشنری  را برمی گرداند. می توانیم از تابع list()‎ برای دریافت لیستی از تاپل ها از این دنباله تکرارپذیر استفاده کنیم.

الگوریتم

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

  1. یک متغیر برای ذخیره دیکشنری ورودی ایجاد کنید.
  2. تمام جفت‌های کلید-مقدار یک دیکشنری را با استفاده از تابع items()‎ استخراج کنید (گروهی از جفت‌های کلید-مقدار را در دیکشنری برمی‌گرداند) و آیتم‌های دیکشنری (جفت کلید-مقدار) را با استفاده از list()‎ به لیستی از تاپل ها تبدیل کنید.
  3. پس از تبدیل، لیست حاصل از یک دیکشنری را چاپ کنید.

مثال

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

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# converting input dictionary items(key-value pair)
# to a list of tuples
resultList = list(inputDictionary.items()‎)
# printing the resultant list of a dictionary
print(resultList)

خروجی

[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]

استفاده از متد keys()‎

متد keys()‎ مجموعه ای شامل کلید های دیکشنری را در خروجی برمی‌گرداند.

الگوریتم

  1. یک متغیر برای ذخیره دیکشنری ورودی ایجاد کنید.
  2. دریافت لیست تمام کلیدهای یک دیکشنری با متد keys()‎
  3. با استفاده از تابع list()‎ نتیجه را به یک لیست تبدیل کنید (تابع list()‎ هر مجموعه را به لیست تبدیل می کند).

مثال

برنامه زیر لیست تمام کلیدهای یک دیکشنری را با استفاده از توابع list()‎ و keys()‎ برمی گرداند.

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# converting input dictionary keys to a list
resultList = list(inputDictionary.keys()‎)
# printing the resultant list of a dictionary keys
print(resultList)

خروجی

['Hello', 'Tutorialspoint', 'python']

با استفاده از متد values()‎

متد values()‎ مجموعه ای شامل مقادیر موجود در دیکشنری را در خروجی برمی‌گرداند.

الگوریتم

  1. برای به دست آوردن لیستی از مقادیر، از متد values()‎ روی دیکشنری استفاده کنید.
  2. با استفاده از تابع list()‎ مقادیر را به لیست تبدیل کنید.

مثال

برنامه زیر لیستی از تمام مقادیر یک دیکشنری را با استفاده از توابع list()‎ و values()‎ برمی گرداند.

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# converting input dictionary values to a list
resultList = list(inputDictionary.values()‎)
# printing the resultant list of a dictionary values
print(resultList)

خروجی

[10, 20, 30]

با استفاده از list comprehension

list comprehension ایجاد یک لیست در پایتون را ساده می کند. علاوه بر این، می توانید مقدار عناصر را تنها در یک خط تغییر دهید.

همچنین از متد ()items برای بازیابی کلیدها و مقادیر آیتم ها قبل از افزودن آنها به لیست استفاده می کنیم.

مثال

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# Storing key and value as list of tuples using list comprehension
resultList = [(key, value) for key, value in inputDictionary.items()‎]
# printing the resultant list of a dictionary key-values
print(resultList)

خروجی

[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]

با استفاده از تابع Zip()‎

تابع zip()‎ می تواند برای ترکیب دو لیست/مجموعه استفاده شود. به این ترتیب، می‌توانیم متدهای keys()‎ و values()‎ دیکشنری را برای دسترسی همزمان به هر دو مقدار ترکیب کنیم.

مثال

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

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
#combining keys and values of dictionary using zip()‎ function
resultList = zip(inputDictionary.keys()‎, inputDictionary.values()‎)
# converting zip object to list
resultList = list(resultList)
# printing the resultant list of a dictionary key-values
print(resultList)

خروجی

[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]

با استفاده از تابع map()‎

map()‎ یک تابع داخلی است که به شما امکان می دهد هر تابعی را روی یک مجموعه/لیست نگاشت کنید. برای ایجاد لیستی از لیست‌ها، تابع list()‎ را روی تمام عناصر خروجی متد items()‎ نگاشت کنید.

مثال

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# conveting list of keys and values of dictionary to a list using map()‎ function
resultList = new_list = list(map(list, inputDictionary.items()‎))
# printing the resultant list of a dictionary key-values
print(resultList)

خروجی

[['Hello', 10], ['Tutorialspoint', 20], ['python', 30]]

استفاده از حلقه for و متد append()‎

  1. ایجاد یک لیست خالی که به لیست حاصل از یک کلید دیکشنری، مقادیر می دهد.
  2. از حلقه for برای عبور از هر جفت مقدار-کلید حاصل شده از تابع items()‎ استفاده کنید
  3. از متد append()‎ برای اضافه کردن جفت کلید-مقدار مربوطه به یک لیست استفاده کنید.

مثال

# input dictionary
inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30}
# creating an empty list
resultList = []
# traversing through each key value pair of a dictionary using items()‎ function
for key, val in inputDictionary.items()‎:
   # appending list of corresponding key-value pair to a list
   resultList.append([key, val])
# printing the resultant list of a dictionary key-values
print(resultList)

خروجی

[['Hello', 10], ['Tutorialspoint', 20], ['python', 30]]
برچسب‌ها:
zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*