Chuyển đổi danh sách thành từ điển trong Python

Spread the love

Chuyển đổi danh sách thành từ điển trong Python không khó lắm.

Hãy xem các cách khác nhau để chuyển đổi danh sách thành từ điển.

giới thiệu

Trước khi bắt đầu phần hướng dẫn, hãy xem một ví dụ về chuyển đổi danh sách thành từ điển. Ta sẽ có một danh sách các bộ (mỗi bộ gồm hai phần tử) hoặc chỉ một danh sách các phần tử. Chúng tôi sẽ lấy cả đầu vào và chuyển đổi chúng thành từ điển.

Ví dụ:

Trong ví dụ sau, chúng tôi đã lấy một danh sách các bộ dữ liệu và chuyển đổi nó thành một từ điển. Chúng tôi đã lấy phần tử đầu tiên của mỗi bộ làm khóa và phần tử thứ hai làm giá trị cho từ điển.

Đầu vào: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

Đầu ra: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

Trong ví dụ sau, chúng tôi đã lấy một danh sách các phần tử và chuyển đổi nó thành một từ điển với các phần tử thay thế là khóa và giá trị. Chúng tôi sẽ cung cấp giá trị rỗng cho khóa nếu không còn phần tử nào cho nó làm khóa (nếu danh sách có số lượng phần tử lẻ).

  Làm thế nào để Tìm CMS nào đang được sử dụng trên một trang web?

Đầu vào: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

Kết quả:{‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: Không}

Chúng tôi đã thấy mục tiêu của hướng dẫn. Và chúng ta sẽ thảo luận về cả hai ví dụ theo những cách khác nhau. Hãy bắt đầu với ví dụ đầu tiên.

Danh sách các bộ dữ liệu – Từ điển

Hãy xem cách chuyển đổi một danh sách các bộ dữ liệu thành một từ điển. Bạn có thể thử viết mã với sự trợ giúp của các bước sau.

  • Khởi tạo danh sách các bộ với dữ liệu giả như các ví dụ trên (đảm bảo mỗi bộ trong danh sách có đúng hai phần tử).
  • Truyền danh sách các bộ dữ liệu cho phương thức dict và nó lưu kết quả vào một biến mới.
  • Vậy là xong, chúng ta đã chuyển đổi một danh sách các bộ dữ liệu thành một từ điển chỉ với một dòng mã.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

Bạn có thể kiểm tra đầu ra của chương trình trên bằng cách thực thi nó. Bạn sẽ nhận được kết quả như chúng ta thấy trong các ví dụ.

Danh sách – Từ điển

Chúng ta đã biết cách chuyển đổi một danh sách các bộ dữ liệu thành một từ điển và đó là một điều đơn giản trong Python. Trong phần này, chúng ta sẽ xem cách chuyển đổi một danh sách đơn giản thành một từ điển.

  Làm thế nào để xem có bao nhiêu dung lượng trống trong DropBox

Xem ví dụ thứ hai từ phần đầu tiên của hướng dẫn để hiểu rõ hơn.

Thực hiện theo các bước dưới đây để viết mã cho ví dụ thứ hai.

Chúng tôi đã điền giá trị mặc định là Không có cho phần tử không có bất kỳ giá trị nào (danh sách chứa số lượng phần tử lẻ). Để làm được điều đó, chúng ta cần sử dụng một phương thức có tên zip_longest từ mô-đun itertools.

  • Nhập mô-đun itertools và khởi tạo danh sách có số lượng phần tử lẻ được đưa ra trong các ví dụ.
  • Chuyển đổi danh sách thành một danh sách có thể lặp lại để tránh lặp lại các cặp khóa và giá trị trong phương thức zip_longest.
  • Bây giờ, chuyển iterable sang phương thức zip_longest và fillvalue là Không có. Nó sẽ trả về một đối tượng zip.
    • Chúng ta phải vượt qua iterable hai lần vì nó lấy key và value từ hai iterables. Trong trường hợp của chúng tôi, cả khóa và giá trị đều có thể lặp lại giống nhau. Vì vậy, chúng ta cần chuyển nó hai lần trước giá trị điền.
  • Chuyển đổi đối tượng thành từ điển Python bằng phương thức dict.
  • In kết quả.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

Bạn có thể cung cấp giá trị lấp đầy bất cứ điều gì bạn muốn. Hãy thử những thứ khác nhau với nó. Và thực thi mã để xem liệu chúng ta có nhận được đầu ra chính xác như đã đề cập trong ví dụ hay không.

  Cách chẩn đoán và khắc phục cổng USB không hoạt động

Sự kết luận

Hy vọng bạn thích chuyển đổi danh sách thành từ điển. Hãy gặp nhau trong hướng dẫn tiếp theo.

Tiếp theo, tìm hiểu cách Làm phẳng danh sách trong Python.

Mã hóa vui vẻ 🙂

Rất thích đọc bài báo? Làm thế nào về chia sẻ với thế giới?

x