Computer >> Máy Tính >  >> Lập trình >> Python

Chuyển đổi hai danh sách thành một từ điển bằng Python

Trong khi danh sách Python chứa một chuỗi giá trị thì ngược lại, từ điển chứa một cặp giá trị được gọi là cặp khóa-giá trị. Trong bài viết này, chúng tôi sẽ lấy hai danh sách và đánh dấu chúng lại với nhau để tạo từ điển Python.

Với cho và xóa

Chúng tôi tạo hai vòng lặp for lồng nhau. Trong vòng lặp bên trong sẽ chỉ định một trong danh sách làm khóa cho từ điển trong khi vẫn tiếp tục xóa các giá trị khỏi danh sách bên ngoài vòng lặp for.

Ví dụ

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# Given lists
print("List of K : ", listK)
print("list of V : ", listV)
# Empty dictionary
res = {}
# COnvert to dictionary
for key in listK:
   for value in listV:
      res[key] = value
      listV.remove(value)
      break
print("Dictionary from lists :\n ",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

('List of K : ', ['Mon', 'Tue', 'Wed'])
('list of V : ', [3, 6, 5])
('Dictionary from lists :\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})

Với for và range

Hai danh sách được kết hợp để tạo ra một cặp giá trị bằng cách đặt chúng vào một vòng lặp for. Các hàm range và len được sử dụng để theo dõi số lượng phần tử cho đến khi tất cả các cặp giá trị khóa được tạo.

Ví dụ

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# Given lists
print("List of K : ", listK)
print("list of V : ", listV)
# COnvert to dictionary
res = {listK[i]: listV[i] for i in range(len(listK))}
print("Dictionary from lists :\n ",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

('List of K : ', ['Mon', 'Tue', 'Wed'])
('list of V : ', [3, 6, 5])
('Dictionary from lists :\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})

Với zip

Hàm zip thực hiện một cái gì đó tương tự như cách tiếp cận ở trên. Nó cũng kết hợp các phần tử từ hai danh sách, tạo ra các cặp khóa và giá trị.

Ví dụ

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# Given lists
print("List of K : ", listK)
print("list of V : ", listV)
# COnvert to dictionary
res = dict(zip(listK, listV))
print("Dictionary from lists :\n ",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

('List of K : ', ['Mon', 'Tue', 'Wed'])
('list of V : ', [3, 6, 5])
('Dictionary from lists :\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})