Từ điển là một thùng chứa Python không có thứ tự và có thể thay đổi, lưu trữ ánh xạ của các khóa duy nhất tới các giá trị. Từ điển được viết bằng dấu ngoặc nhọn [{}], bao gồm các cặp khóa-giá trị được phân tách bằng dấu phẩy [,]. Một dấu hai chấm [. ] tách từng khóa khỏi giá trị của nó
Ba từ điển được hiển thị bên dưới, chứa dân số của 5 thành phố lớn nhất của Đức, danh sách sản phẩm và điểm của học sinh
2. Tạo từ điển với hàm tạo dict[]Từ điển cũng có thể được tạo bằng chức năng tích hợp sẵn dict[**kwarg]. Hàm này lấy một số lượng tùy ý các đối số từ khóa [các đối số đứng trước một mã định danh kwarg=value] làm đầu vào
Chúng ta cũng có thể tạo một từ điển bằng một từ điển khác kết hợp với các đối số từ khóa [dict[mapping, **kwarg]] như sau
Ngoài ra, chúng ta có thể xây dựng một từ điển bằng cách sử dụng một iterable [e. g. danh sách các bộ dữ liệu]. Mỗi bộ dữ liệu phải chứa hai đối tượng. Đối tượng đầu tiên trở thành khóa và đối tượng thứ hai trở thành giá trị của từ điển
Cuối cùng, chúng ta có thể tạo một từ điển bằng hai danh sách. Đầu tiên, chúng ta phải xây dựng một trình vòng lặp của các bộ dữ liệu bằng cách sử dụng hàm zip[*iterables]. Sau đó, chúng tôi sử dụng hàm dict[[iterable, **kwarg]] để xây dựng từ điển, như chúng tôi đã làm trước đây
3. Truy cập các giá trị trong từ điểnĐể truy cập các giá trị từ điển, chúng tôi không thể sử dụng chỉ mục số [như chúng tôi làm với danh sách hoặc bộ dữ liệu], vì từ điển là vùng chứa không có thứ tự. Thay vào đó, chúng tôi đặt khóa bằng cách sử dụng dấu ngoặc vuông [[]]. Nếu chúng tôi cố gắng truy cập một giá trị bằng khóa không xác định, KeyError sẽ xuất hiện
Để tránh bị ngoại lệ với các khóa không xác định, chúng ta có thể sử dụng phương thức dict. nhận [khóa [, mặc định]]. Phương thức này trả về giá trị cho khóa nếu khóa có trong từ điển, ngược lại trả về giá trị mặc định. Nếu mặc định không được cung cấp, nó sẽ trả về Không có [nhưng không bao giờ phát sinh ngoại lệ]
4. Chèn các phần tử vào từ điểnĐể chèn một phần tử vào từ điển, chúng ta có thể sử dụng dấu ngoặc vuông như sau
Để chèn nhiều mục cùng một lúc, chúng ta có thể sử dụng phương thức dict. cập nhật[[khác]]. Phương thức này cập nhật từ điển với các cặp khóa/giá trị từ các cặp khóa/giá trị khác, ghi đè lên các khóa hiện có
Như đã trình bày ở trên, các. update[] không chỉ chấp nhận đối số như một từ điển khác mà còn chấp nhận danh sách các bộ dữ liệu hoặc đối số từ khóa. Phương pháp này sửa đổi từ điển tại chỗ, trả về Không có
5. Thay đổi các thành phần trong từ điểnChúng tôi có thể thay đổi giá trị của một mục bằng cách truy cập khóa bằng dấu ngoặc vuông [[]]. Để sửa đổi nhiều giá trị cùng một lúc, chúng ta có thể sử dụng. update[], vì hàm này ghi đè lên các khóa hiện có
Sau đó, chúng tôi tăng giá của một chiếc ghế sofa 100 đơn vị và chúng tôi sửa đổi điểm của hai học sinh
6. Xóa phần tử trong từ điểnĐể xóa một phần tử trong từ điển, chúng ta có thể sử dụng từ khóa del dict[key] hoặc dict. phương thức pop[key[, default]]
Từ khóa del dict[key] xóa phần tử đã cho khỏi từ điển, làm tăng KeyError nếu khóa không tồn tại
Nếu khóa tồn tại trong từ điển, dict. phương thức pop[key[, default]] xóa mục có khóa đã cho khỏi từ điển và trả về giá trị của nó. Ngược lại, nếu khóa không tồn tại trong từ điển, phương thức sẽ trả về giá trị mặc định. Nếu không có giá trị mặc định nào được cung cấp và khóa không tồn tại, thì. phương thức pop[] sẽ đưa ra một ngoại lệ [KeyError]
7. Kiểm tra xem có tồn tại khóa khôngĐể kiểm tra xem một khóa có tồn tại trong từ điển hay không, chúng ta phải sử dụng toán tử thành viên. Các toán tử thành viên được sử dụng để kiểm tra xem một giá trị có được tìm thấy trong một chuỗi hay không [e. g. chuỗi, danh sách, bộ dữ liệu, bộ hoặc từ điển]. Có hai toán tử thành viên, như được giải thích bên dưới
- in → Đánh giá là đúng nếu đối tượng ở bên trái được bao gồm trong đối tượng ở bên phải
- not in → Đánh giá là đúng nếu đối tượng ở bên trái không được bao gồm trong đối tượng ở bên phải
Như đã trình bày ở trên, các toán tử thành viên [in và not in] có thể được sử dụng để kiểm tra xem một khóa có tồn tại trong từ điển hay không, nhưng chúng cũng có thể được sử dụng với các chuỗi khác theo cách sau
Để sao chép một từ điển, chúng ta chỉ cần sử dụng lệnh dict. phương thức sao chép []. Phương thức này trả về một bản sao nông của từ điển. Chúng tôi phải cẩn thận với các bản sao nông, vì nếu từ điển của bạn chứa các đối tượng vùng chứa khác như danh sách, bộ dữ liệu hoặc bộ, chúng sẽ được tham chiếu lại và không được sao chép
Để tránh vấn đề này, chúng ta có thể tạo một bản sao sâu bằng copy. chức năng deepcopy[x] [được định nghĩa trong mô-đun sao chép] như sau
Sự khác biệt giữa bản sao nông và bản sao sâu chỉ liên quan khi từ điển chứa các đối tượng khác như danh sách, vì các đối tượng đó sẽ được tham chiếu thay vì trùng lặp [bản sao nông]. Để tạo một bản sao hoàn toàn độc lập của từ điển gốc, chúng tôi phải tạo một bản sao sâu
Nếu bạn muốn biết thêm về cách sao chép từ điển, bạn có thể đọc bài viết sau đây, nơi giải thích chi tiết về sự khác biệt giữa sao chép nông và sao chép sâu
con trăn. Cách sao chép từ điển. Bản sao nông vs Bản sao sâu
Trong bài viết này, chúng ta sẽ thảo luận về cách tạo một bản sao nông và sâu của từ điển trong Python. Từ điển Python…
con trỏ này. com
Điều quan trọng cần nhớ là toán tử = không tạo một bản sao của từ điển. Nó chỉ là một tên khác để chỉ cùng một từ điển, có nghĩa là bất kỳ sửa đổi nào đối với từ điển mới đều được phản ánh trong từ điển gốc
9. Xác định độ dài của từ điểnĐể xác định từ điển chứa bao nhiêu cặp khóa-giá trị, chúng ta có thể sử dụng hàm len[]. Hàm này trả về số lượng mục của một đối tượng. Đầu vào của hàm có thể là một từ điển, nhưng cũng có thể là một loại trình tự khác như chuỗi, danh sách, bộ hoặc tập hợp
10. Lặp qua từ điểnLặp lại thông qua các phím
Để lặp qua các phím ta có thể sử dụng trực tiếp từ điển trong vòng lặp for như sau
Ngoài ra, chúng ta có thể sử dụng dict. phương thức keys[]. Phương thức này trả về một đối tượng xem, chứa các khóa của từ điển
Lặp lại thông qua các giá trị
Nếu bạn chỉ cần làm việc với các giá trị của từ điển, thì bạn có thể sử dụng lệnh dict. phương thức values[] trong vòng lặp for. Phương thức này trả về một đối tượng xem có chứa các giá trị của từ điển
Chúng ta có thể tính toán có bao nhiêu người sống ở 5 thành phố lớn nhất của Đức bằng cách sử dụng dict. phương thức values[] như sau
Như chúng ta có thể quan sát, gần 9 triệu người sống ở 5 thành phố lớn nhất của Đức
Lặp lại thông qua các mục
Khi bạn đang làm việc với từ điển, có thể bạn cần sử dụng các khóa và giá trị. Để lặp qua cả hai, bạn có thể sử dụng dict. phương thức item[]. Phương thức này trả về một đối tượng dạng xem, chứa các cặp khóa-giá trị dưới dạng danh sách các bộ dữ liệu
Chúng tôi có thể xác định học sinh có điểm kiểm tra thấp nhất bằng lệnh. items[] kết hợp với vòng lặp for như sau
Như hình trên, Normando là học sinh có điểm thi thấp nhất [2. 5]
11. hiểu từ điểnCác vòng lặp for của Python rất hữu ích trong việc xử lý các tác vụ lập trình lặp đi lặp lại; . hiểu từ điển
Khả năng hiểu từ điển cho phép tạo từ điển bằng cú pháp đơn giản và thanh lịch. {Chìa khóa. giá trị cho vars trong iterable}. Ngoài ra, chúng nhanh hơn các vòng lặp for truyền thống
Chúng tôi có thể lọc các sản phẩm có giá thấp hơn 100 euro bằng cách sử dụng cả vòng lặp for truyền thống và cách hiểu từ điển
Như chúng ta có thể quan sát, việc hiểu từ điển cung cấp kết quả tương tự như các vòng lặp for truyền thống theo cách thanh lịch hơn
12. Từ điển lồng nhauTừ điển lồng nhau là từ điển chứa các từ điển khác. Chúng ta có thể tạo một từ điển lồng nhau giống như cách chúng ta tạo một từ điển bình thường bằng cách sử dụng dấu ngoặc nhọn [{}]
Từ điển lồng nhau sau chứa thông tin về 5 tác phẩm nghệ thuật nổi tiếng. Như chúng ta có thể quan sát, các giá trị của từ điển cũng là các từ điển khác
Chúng ta cũng có thể tạo từ điển lồng nhau trước đó bằng cách sử dụng hàm tạo dict[], chuyển khóa. cặp giá trị làm đối số từ khóa
Để truy cập các phần tử trong từ điển lồng nhau, chúng tôi chỉ định các khóa bằng nhiều dấu ngoặc vuông [[]]
Nếu bạn muốn biết thêm về từ điển lồng nhau, bạn có thể đọc bài viết sau đây ở đâu, cách làm việc với từ điển lồng nhau [e. g. cập nhật các mục, thay đổi các phần tử và vòng lặp] được giải thích chi tiết
Python Nested Dictionary - Tìm hiểu bằng ví dụ
Một từ điển có thể chứa một từ điển khác, từ điển này có thể chứa chính các từ điển, v.v. tùy ý…
www. học theo ví dụ. tổ chức
13. thùng chứa thay thế. OrderedDict, defaultdict và CounterMô-đun bộ sưu tập cung cấp các kiểu dữ liệu bộ chứa thay thế cho các bộ chứa Python tích hợp. Ba lớp con từ điển có trong mô-đun bộ sưu tập khá tiện dụng khi làm việc với Python là. [1]OrderedDict, [2]defaultdict và [3]Counter
Ra lệnhDict
OrderedDict bao gồm một từ điển ghi nhớ thứ tự nội dung của nó được thêm vào. Trong Trăn 3. Hơn 6 từ điển cũng được chèn theo thứ tự, nghĩa là chúng nhớ thứ tự các mục được chèn. Tuy nhiên, để đảm bảo thứ tự phần tử trên các phiên bản Python khác, chúng tôi phải sử dụng bộ chứa OrderedDict
Như được hiển thị ở trên, OrderedDict chấp nhận các phương thức và chức năng từ điển. Hơn nữa, các phần tử có thể được chèn, thay đổi hoặc xóa giống như với các từ điển thông thường
mặc định
Defaultdicts là một lớp con từ điển gán giá trị mặc định khi thiếu khóa [nó chưa được đặt]. Chúng không bao giờ gây ra KeyError, nếu chúng tôi cố gắng truy cập một mục không có trong từ điển, thay vào đó, một mục mới sẽ được tạo
Defaultdicts lấy một hàm làm đối số và khởi tạo khóa bị thiếu với giá trị do hàm trả về. Trong ví dụ bên dưới, các khóa được khởi tạo với các giá trị khác nhau, tùy thuộc vào hàm được sử dụng làm đối số đầu tiên
Như chúng ta có thể quan sát, chúng ta có thể chuyển một từ điển hoặc từ khóa làm đối số thứ hai [tùy chọn] để khởi tạo bộ chứa defaultdict
Phản đối
Bộ đếm là một lớp con từ điển để đếm các đối tượng có thể vội vàng. Hàm trả về một đối tượng Bộ đếm, trong đó các phần tử được lưu trữ dưới dạng khóa và số lượng của chúng được lưu trữ dưới dạng giá trị. Sử dụng chức năng này, chúng ta có thể dễ dàng đếm các phần tử của danh sách, như hình bên dưới
Như đã trình bày ở trên, chúng ta có thể dễ dàng thu được các phần tử phổ biến nhất với. phương thức most_common[[n]]. Phương thức này trả về danh sách n phần tử phổ biến nhất và số lượng của chúng
Khung dữ liệu Pandas là dữ liệu dạng bảng hai chiều trong đó mỗi hàng biểu thị một quan sát và mỗi cột là một biến. Một Pandas DataFrame có thể được tạo bằng pandas. Trình tạo khung dữ liệu. Hàm này chấp nhận làm đầu vào cho các vùng chứa python khác nhau [e. g. danh sách, từ điển hoặc mảng numpy]. Tuy nhiên, trong bài viết này, chúng tôi chỉ giải thích các cách tạo DataFrame liên quan đến việc sử dụng từ điển
Tạo một DataFrame từ một từ điển
Chúng tôi có thể tạo DataFrame từ một từ điển, trong đó các khóa đại diện cho tên cột và các giá trị đại diện cho dữ liệu cột theo cách sau
Như chúng ta có thể quan sát, chỉ mục mặc định chỉ là số hàng [chỉ số nguyên bắt đầu từ 0]. Chúng ta có thể sửa đổi các chỉ mục này bằng cách chuyển danh sách chỉ mục tới hàm tạo DataFrame
Tạo DataFrame từ danh sách từ điển
Một danh sách từ điển cũng có thể được sử dụng để tạo DataFrame, trong đó các phím đại diện cho tên cột. Như trước đây, chúng ta có thể thay đổi chỉ mục bằng cách chuyển danh sách chỉ mục tới hàm DataFrame
15. Các chức năng trong Pandas sử dụng từ điển
Có một số chức năng trong Pandas sử dụng từ điển làm giá trị đầu vào, ví dụ: pandas. Khung dữ liệu. đổi tên và gấu trúc. Khung dữ liệu. thay thế
gấu trúc. Khung dữ liệu. đổi tên
Hàm này trả về một DataFrame với các nhãn trục được đổi tên. Chúng ta có thể sử dụng từ điển làm đầu vào trong đó các khóa tham chiếu đến tên cũ và giá trị cho tên mới. Các nhãn không có trong từ điển vẫn không thay đổi
Như được hiển thị ở trên, chúng ta có thể thay đổi nhãn chỉ mục, cung cấp từ điển cho tham số chỉ mục. Ngoài ra, chúng ta có thể sửa đổi tên cột cung cấp từ điển thành tham số cột
gấu trúc. Khung dữ liệu. thay thế
Hàm này thay thế các giá trị của DataFrame bằng các giá trị khác một cách linh hoạt. Chúng ta có thể sử dụng một từ điển có chức năng thay thế để sửa đổi DataFrame trong đó các khóa đại diện cho các mục hiện có và các mục thay thế giá trị
Bài viết đã hoàn thành. 🍀 Như bạn có thể thấy, từ điển là một công cụ thực sự hữu ích trong Python. Tôi hy vọng bài viết này phục vụ bạn như một hướng dẫn để tận dụng tối đa chúng khi viết mã bằng Python. 💪