Danh sách và từ điển trong Python là 2 cấu trúc dữ liệu trong Python dùng để lưu trữ dữ liệu. Danh sách Python là một chuỗi các đối tượng được sắp xếp theo thứ tự, trong khi từ điển không có thứ tự. Các mục trong danh sách có thể được truy cập bằng một chỉ mục [dựa trên vị trí của chúng] trong khi các mục trong từ điển có thể được truy cập bằng các phím chứ không phải theo vị trí của chúng
Hãy xem cách chuyển đổi danh sách Python thành từ điển
Mười cách khác nhau để chuyển đổi danh sách Python thành từ điển
- Chuyển đổi danh sách các bộ thành từ điển
- Chuyển đổi hai danh sách có cùng độ dài thành từ điển
- Chuyển đổi hai danh sách có độ dài khác nhau thành từ điển
- Chuyển đổi danh sách các mục khóa, giá trị thay thế thành từ điển
- Chuyển đổi danh sách từ điển thành một từ điển duy nhất
- Chuyển đổi danh sách thành từ điển bằng cách sử dụng enumerate[]
- Chuyển đổi danh sách thành từ điển bằng cách hiểu từ điển
- Chuyển đổi danh sách thành từ điển bằng dict. fromkeys[]
- Chuyển đổi danh sách lồng nhau thành từ điển bằng cách hiểu từ điển
- Chuyển đổi danh sách thành từ điển bằng Counter[]
1. Chuyển đổi danh sách các bộ dữ liệu thành từ điển
Hàm tạo
itertools.zip_longest[*iterables,fillvalue=None]
0 xây dựng từ điển trực tiếp từ chuỗi các cặp khóa-giá trị#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
2. Chuyển đổi hai danh sách có cùng độ dài thành từ điển
Chúng tôi có thể chuyển đổi hai danh sách có cùng độ dài sang từ điển bằng cách sử dụng
itertools.zip_longest[*iterables,fillvalue=None]
1itertools.zip_longest[*iterables,fillvalue=None]
1 sẽ trả về một trình vòng lặp của các bộ dữ liệu. Chúng ta có thể chuyển đổi đối tượng zip đó thành từ điển bằng hàm tạo itertools.zip_longest[*iterables,fillvalue=None]
0zip[]
Tạo một trình lặp tổng hợp các phần tử từ mỗi lần lặp
“
itertools.zip_longest[*iterables,fillvalue=None]
4. Trả về một bộ lặp của các bộ, trong đó bộ thứ i chứa phần tử thứ i từ mỗi chuỗi đối số hoặc bộ lặp. Trình vòng lặp dừng khi hết vòng lặp đầu vào ngắn nhất. Với một đối số có thể lặp lại duy nhất, nó trả về một trình lặp gồm 1 bộ. Không có đối số, nó trả về một trình vòng lặp trống. ” — Trăn
Ví dụ
Sử dụng zip[]nguồn hình ảnh. Tác giả
3. Chuyển đổi hai danh sách có độ dài khác nhau thành từ điển
Chúng ta có thể chuyển đổi hai danh sách có độ dài khác nhau sang từ điển bằng cách sử dụng
itertools.zip_longest[*iterables,fillvalue=None]
5Theo
“
itertools.zip_longest[*iterables,fillvalue=None]
6. Tạo một iterator tổng hợp các phần tử từ mỗi iterables. Nếu các lần lặp có độ dài không đồng đều, giá trị còn thiếu sẽ được lấp đầy bằng giá trị lấp đầy. Lặp lại tiếp tục cho đến khi hết lần lặp dài nhất.
Trong zip[], phép lặp tiếp tục cho đến khi hết phép lặp ngắn nhất. ”
itertools.zip_longest[*iterables,fillvalue=None]
Sử dụng
itertools.zip_longest[*iterables,fillvalue=None]
1, quá trình lặp tiếp tục cho đến khi hết thời gian lặp ngắn nhấtSử dụng zip[]Sử dụng
itertools.zip_longest[*iterables,fillvalue=None]
6, quá trình lặp tiếp tục cho đến khi hết thời gian lặp dài nhất. Theo mặc định, itertools.zip_longest[*iterables,fillvalue=None]
9 là #Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
20Sử dụng zip_longest[]Hình ảnh của tác giả
itertools.zip_longest[*iterables,fillvalue=None]
9 được đề cập là x4. Chuyển đổi danh sách khóa thay thế, mục giá trị thành từ điển
Chúng tôi có thể chuyển đổi danh sách các khóa, giá trị thay thế dưới dạng các mục thành từ điển bằng cách sử dụng tính năng cắt
Cắt lát trả về một danh sách mới chứa một chuỗi các mục từ danh sách. Chúng tôi có thể chỉ định một loạt các chỉ mục
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
2Chúng ta có thể tạo hai danh sách lát. Danh sách đầu tiên chỉ chứa các khóa và danh sách tiếp theo chỉ chứa các giá trị
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
5Tạo hai đối tượng lát từ danh sách này
Đối tượng lát đầu tiên sẽ chỉ chứa các khóa
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
22#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
23 không được đề cập. Theo mặc định, nó sẽ bắt đầu từ đầu danh sách#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
24 không được đề cập. Theo mặc định, nó sẽ dừng ở cuối danh sách#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
24 được đề cập là 2#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
22 Trả về danh sách chứa các phần tử từ đầu đến cuối bằng cách sử dụng bước 2 [các phần tử thay thế]itertools.zip_longest[*iterables,fillvalue=None]
1nguồn hình ảnh. Tác giả
Đối tượng lát thứ hai sẽ chỉ chứa các giá trị
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
5#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
27#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
23 được đề cập là 1. Nó sẽ bắt đầu cắt từ chỉ mục đầu tiên#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
24 không được đề cập. Nó sẽ dừng ở cuối danh sách#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
50 được đề cập là 2#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
51] Trả về danh sách chứa các phần tử từ chỉ mục đầu tiên đến cuối bằng cách sử dụng bước 2 [các phần tử thay thế]itertools.zip_longest[*iterables,fillvalue=None]
8Nguồn hình ảnh. Tác giả
Bây giờ chúng ta có thể hợp nhất hai danh sách bằng hàm
itertools.zip_longest[*iterables,fillvalue=None]
1Chuyển đổi danh sách thành từ điển bằng Slicing5. Chuyển đổi danh sách từ điển thành một từ điển duy nhất
Một danh sách từ điển có thể được chuyển đổi thành một từ điển duy nhất bằng các cách sau
#Converting list of tuples to dictionary by using dict[] constructor
53
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}- hiểu từ điển
#Converting list of tuples to dictionary by using dict[] constructor
54
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
mệnh lệnh. cập nhật[]
Chúng tôi có thể chuyển đổi danh sách từ điển thành một từ điển duy nhất bằng cách sử dụng
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
53- Tạo một từ điển trống
- Lặp lại danh sách từ điển bằng vòng lặp
#Converting list of tuples to dictionary by using dict[] constructor
56
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3} - Bây giờ hãy cập nhật từng mục [cặp khóa-giá trị] vào từ điển trống bằng cách sử dụng
#Converting list of tuples to dictionary by using dict[] constructor
53
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
hiểu từ điển
Một cách hiểu từ điển bao gồm các dấu ngoặc _______158 chứa hai biểu thức được phân tách bằng dấu hai chấm theo sau bởi mệnh đề
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
56, sau đó không hoặc nhiều mệnh đề #Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
56 hoặc itertools.zip_longest[*iterables,fillvalue=None]
11itertools.zip_longest[*iterables,fillvalue=None]
9itertools.zip_longest[*iterables,fillvalue=None]
12 — Trả lại từng mục trong danh sách itertools.zip_longest[*iterables,fillvalue=None]
13itertools.zip_longest[*iterables,fillvalue=None]
14 — Trả về cặp khóa, giá trị trong mục đó. itertools.zip_longest[*iterables,fillvalue=None]
15 itertools.zip_longest[*iterables,fillvalue=None]
16itertools.zip_longest[*iterables,fillvalue=None]
17— được cập nhật trong từ điển d1hiểu từ điểnbộ sưu tập. Bản Đồ Chuỗi
Bằng cách sử dụng
itertools.zip_longest[*iterables,fillvalue=None]
18, chúng tôi có thể chuyển đổi danh sách từ điển thành một từ điển duy nhấtTheo
“
itertools.zip_longest[*iterables,fillvalue=None]
19. Một ChainMap nhóm nhiều từ điển hoặc các ánh xạ khác lại với nhau để tạo một chế độ xem duy nhất, có thể cập nhật. ”
Kiểu trả về sẽ là
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
50. Chúng ta có thể chuyển đổi thành từ điển bằng hàm tạo itertools.zip_longest[*iterables,fillvalue=None]
06. Chuyển đổi danh sách thành từ điển bằng Enumerate[]
Bằng cách sử dụng
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
52, chúng tôi có thể chuyển đổi danh sách thành từ điển với chỉ mục là khóa và mục danh sách là giá trị#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
52 sẽ trả về một đối tượng liệt kêChúng ta có thể chuyển đổi thành dict bằng hàm tạo
itertools.zip_longest[*iterables,fillvalue=None]
0Theo
liệt kê[]“
#Converting list of tuples to dictionary by using dict[] constructor
55. Trả về một đối tượng liệt kê. iterable phải là một trình tự, một terator hoặc một số đối tượng khác hỗ trợ phép lặp. Phương thức ____156 của trình vòng lặp được trả về bởi
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}#Converting list of tuples to dictionary by using dict[] constructor
52 trả về một bộ chứa một số đếm [từ đầu được mặc định là 0] và các giá trị thu được từ việc lặp qua lặp lại
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
7. Chuyển đổi danh sách thành từ điển bằng cách hiểu từ điển
Bằng cách sử dụng khả năng hiểu từ điển, chúng ta có thể chuyển đổi danh sách khóa thành từ điển có cùng giá trị
itertools.zip_longest[*iterables,fillvalue=None]
6Nó sẽ lặp qua danh sách và thay đổi mục của nó thành một khóa [
#Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
58] và giá trị sẽ là #Converting list of tuples to dictionary by using dict[] constructor
color=[['red',1],['blue',2],['green',3]]
d=dict[color]
print [d]#Output:{'red': 1, 'blue': 2, 'green': 3}
59 cho tất cả các khóa8. Chuyển đổi danh sách thành từ điển bằng dict. fromkeys[]
itertools.zip_longest[*iterables,fillvalue=None]
80 sẽ chấp nhận một danh sách các khóa, được chuyển đổi thành các khóa từ điển và một giá trị sẽ được chỉ địnhGiá trị giống nhau sẽ được gán cho tất cả các khóa
9. Chuyển đổi danh sách lồng nhau thành từ điển bằng cách hiểu từ điển
Chúng ta có thể chuyển đổi danh sách lồng nhau thành từ điển bằng cách sử dụng khả năng hiểu từ điển
itertools.zip_longest[*iterables,fillvalue=None]
81Nó sẽ lặp qua danh sách
Nó sẽ lấy mục ở chỉ mục 0 làm khóa và chỉ mục 1 làm giá trị
10. Chuyển đổi danh sách thành từ điển bằng Counter[]
“
itertools.zip_longest[*iterables,fillvalue=None]
82. Counter là một lớp con dict để đếm các đối tượng có thể băm. Nó là một bộ sưu tập nơi các phần tử được lưu trữ dưới dạng khóa từ điển và số lượng của chúng được lưu trữ dưới dạng giá trị từ điển. Số lượng được phép là bất kỳ giá trị số nguyên nào kể cả số không hoặc số âm. ” — Trăn
itertools.zip_longest[*iterables,fillvalue=None]
2itertools.zip_longest[*iterables,fillvalue=None]
83 sẽ chuyển đổi các mục trong danh sách thành khóa và tần số của chúng thành giá trịPhản đối[]Các liên kết blog khác của tôi
15 điều cần biết để thông thạo từ điển Python
25 câu hỏi hàng đầu về danh sách Python
7 cách hợp nhất từ điển trong Python
Hợp nhất danh sách trong Python
Tài nguyênXem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter