Một từ điển có thể là python trong bao lâu?
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ó Show
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
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 cạn 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âuTrong 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ụcKhi 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 vùng chứa thay thế cho các vùng 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ệnhDictOrderedDict 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 địnhDefaultdicts 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 đốiBộ đế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ểnChú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ểnMộ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ểnCó 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ênHà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 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. 💪 Độ dài tối đa của từ điển Python là bao nhiêu?Về nguyên tắc không giới hạn kích thước đối với từ điển trong Python, ngoại trừ dung lượng bộ nhớ khả dụng của bạn (RAM + Dung lượng hoán đổi).
Độ dài của một từ điển trong Python là bao nhiêu?Mô tả. Phương thức từ điển Python len() đưa ra tổng độ dài của từ điển. Điều này sẽ bằng với số lượng mục trong từ điển.
Chúng ta có thể mở rộng từ điển bằng Python không?Phương pháp 1. Sử dụng cập nhật()
. update() hợp nhất hai (2) từ điển bằng cách thêm nội dung của một (1) từ điển vào cuối một (1) từ điển khác.
Độ phức tạp về thời gian của một từ điển trong Python là gì?Tra cứu trong từ điển nhanh hơn vì Python triển khai chúng bằng cách sử dụng bảng băm. Nếu chúng ta giải thích sự khác biệt bằng khái niệm Big O, từ điển có độ phức tạp thời gian không đổi, O(1) trong khi danh sách có độ phức tạp thời gian tuyến tính, O(n). |