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

Từ điển có chỉ mục dưới dạng giá trị trong Python

Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo từ điển từ một bộ sưu tập python thường được sử dụng khác, cụ thể là danh sách. Chỉ mục hoặc khóa không phải là một phần của nội dung danh sách. Nhưng trong từ điển, chúng ta cần có một 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 liệt kê

Hàm liệt kê thêm một bộ đếm làm khóa của đối tượng liệt kê. VẬY chúng ta áp dụng nó cho một danh sách nhất định và sử dụng vòng lặp for. Điều đó tạo ra từ điển bắt buộc nơi các khóa được tạo bởi hàm liệt kê.

Ví dụ

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = {val: key + 1 for key, val in enumerate(Alist)}

# print result
print("Dictionary created with index : ",NewDict)

Đầu ra

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

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

Xin lưu ý khi có các phần tử trùng lặp, chỉ chúng được hiển thị có giá trị chỉ mục cao hơn trong số các phần tử trùng lặp.

Sử dụng mã zip và dải ô

Một cách tiếp cận khác là áp dụng hàm phạm vi để tạo các khóa bắt đầu từ 1 và kéo dài đến độ dài của danh sách được cung cấp. Cuối cùng, chúng tôi áp dụng hàm dict để tạo từ điển.

Ví dụ

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = dict(zip(Alist, range(1, len(Alist)+1)))

# print result
print("Dictionary created with index : ",NewDict)

Đầu ra

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

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}