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ó

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ển

Chú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

8. Sao chép từ điển

Để 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â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ển

Lặ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ển

Cá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 nhau

Từ đ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à Counter

Mô-đ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ệ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

14. Tạo một Khung dữ liệu Pandas từ một từ điển

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 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).