Làm cách nào để đọc danh sách từ điển trong Python từ tệp?
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 Show
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
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 2. Chuyển đổi hai danh sách có cùng độ dài thành từ điển Chúng ta 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 một từ điển bằng cách sử dụ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
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) Sử dụng itertools.zip_longest(*iterables,fillvalue=None) 1, quá trình lặp lại tiếp tục cho đến khi hết thời gian lặp lại 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à s[i:j:k] — slice of s from i to j with step k 0Sử 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ỉ số s[i:j:k] — slice of s from i to j with step k Chú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ị l1=[1,'a',2,'b',3,'c',4,'d'] Tạ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óas[i:j:k] — slice of s from i to j with step k 2s[i:j:k] — slice of s from i to j with step k 3 không được đề cập. Theo mặc định, nó sẽ bắt đầu từ đầu danh sáchs[i:j:k] — slice of s from i to j with step k 4 không được đề cập. Theo mặc định, nó sẽ dừng ở cuối danh sáchs[i:j:k] — slice of s from i to j with step k 4 được đề cập là 2s[i:j:k] — slice of s from i to j with step k 2 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ế)[1,2,3,4] nguồn hình ảnh. Tác giảĐối tượng lát thứ hai sẽ chỉ chứa các giá trịl1=[1,'a',2,'b',3,'c',4,'d'] s[i:j:k] — slice of s from i to j with step k 7s[i:j:k] — slice of s from i to j with step k 3 được đề cập là 1. Nó sẽ bắt đầu cắt từ chỉ mục đầu tiêns[i:j:k] — slice of s from i to j with step k 4 không được đề cập. Nó sẽ dừng ở cuối danh sáchl1=[1,'a',2,'b',3,'c',4,'d'] 0 được đề cập là 2l1=[1,'a',2,'b',3,'c',4,'d'] 1] 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ế)['a', 'b', 'c', 'd'] Nguồ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 cách sử dụ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
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 l1=[1,'a',2,'b',3,'c',4,'d'] 3
hiểu từ điểnMột cách hiểu từ điển bao gồm các dấu ngoặc_______15_______8 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 đề l1=[1,'a',2,'b',3,'c',4,'d'] 6, sau đó không hoặc nhiều hơn mệnh đề l1=[1,'a',2,'b',3,'c',4,'d'] 6 hoặc [1,2,3,4] 1l1=[{1:'a',2:'b'},{3:'c',4:'d'}] [1,2,3,4] 2 — Trả lại từng mục trong danh sách [1,2,3,4] 3[1,2,3,4] 4 — Trả về cặp khóa, giá trị trong mục đó. [1,2,3,4] 5 [1,2,3,4] 6[1,2,3,4] 7— được cập nhật trong từ điển d1hiểu từ điểnbộ sưu tập. Bản Đồ ChuỗiBằng cách sử dụng [1,2,3,4] 8, 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
Loại trả về sẽ là l1=[1,'a',2,'b',3,'c',4,'d'] 0. 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 l1=[1,'a',2,'b',3,'c',4,'d'] 2, 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ịl1=[1,'a',2,'b',3,'c',4,'d'] 2 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ê() 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ị d1={k:"a" for k in l1} Nó sẽ lặp qua danh sách và thay đổi mục của nó thành một khóa ( l1=[1,'a',2,'b',3,'c',4,'d'] 8) và giá trị sẽ là l1=[1,'a',2,'b',3,'c',4,'d'] 9 cho tất cả các khóa8. Chuyển đổi danh sách thành từ điển bằng dict. fromkeys() ['a', 'b', 'c', 'd'] 0 sẽ chấp nhận một danh sách các khóa, danh sách này đượ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 phím 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 ['a', 'b', 'c', 'd'] 1Nó 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()
collections.Counter(iterable-or-mapping) ['a', 'b', 'c', 'd'] 3 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ịQuầy tính tiền()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 Làm cách nào để lấy từ điển từ tệp CSV bằng Python?Cách tốt nhất để chuyển đổi tệp CSV thành từ điển Python là tạo đối tượng tệp CSV f bằng cách sử dụng open("my_file. csv") và chuyển nó vào csv. Phương thức DictReader(f) . Giá trị trả về là một từ điển có thể lặp lại, một từ điển trên mỗi hàng trong tệp CSV, ánh xạ tiêu đề cột từ hàng đầu tiên sang giá trị hàng cụ thể.
Làm cách nào tôi có thể nhận danh sách tất cả các khóa trong từ điển?Phương pháp 1. Nhận các khóa từ điển dưới dạng danh sách bằng dict. Lệnh . keys() trong Từ điển Python, trả về một đối tượng dạng xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn . |