Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Từ điển với chỉ mục làm giá trị trong Python


Bài viết này hướng dẫn cách tạo từ điển từ một chứa dữ liệu Python thường dùng khác là danh sách. Chỉ mục hoặc khóa không phải là phần của nội dung danh sách. Nhưng trong từ điển, ta cần có khóa hoặc chỉ mục gắn với mỗi phần tử được gọi là giá trị.

Sử dụng enumerate

Hàm enumerate thêm một bộ đếm làm khóa của đối tượng enumerate. Vì vậy, ta áp dụng nó cho danh sách cho trước và dùng vòng lặp for. Điều đó tạo ra từ điển yêu cầu, nơi các khóa được tạo bởi hàm enumerate.

Ví dụ

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11] # Danh sách cho trước print("Danh sách cho trước : " , Alist) # Chuyển thành Từ điển NewDict = {val: key + 1 for key, val in enumerate(Alist)} # in kết quả print("Từ điển tạo với chỉ mục : ",NewDict)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11] Từ điển tạo với chỉ mục : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

Lưu ý: khi có phần tử trùng lặp, chỉ phần tử có chỉ mục lớn hơn trong số các bản sao được hiển thị.

Sử dụng zip và range

Cách khác là áp dụng hàm range để tạo khóa bắt đầu từ 1 đến độ dài danh sách cung cấp. Cuối cùng, ta áp dụng hàm dict để tạo từ điển.

Ví dụ

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11] # Danh sách cho trước print("Danh sách cho trước : " , Alist) # Chuyển thành Từ điển NewDict = dict(zip(Alist, range(1, len(Alist)+1))) # in kết quả print("Từ điển tạo với chỉ mục : ",NewDict)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11] Từ điển tạo với chỉ mục : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}