Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp, chúng tôi truy cập khóa hiện tại và trả về giá trị tương ứng
Danh sách mới chỉ chứa các giá trị của các khóa được chỉ định
Nếu bạn sử dụng ký hiệu ngoặc để truy cập một khóa không tồn tại trong từ điển, một ngoại lệ KeyError
sẽ được đưa ra
Bạn có thể sử dụng câu lệnh if
để kiểm tra xem khóa có trong từ điển hay không trước khi truy cập nó
Chúng tôi chỉ sử dụng ký hiệu ngoặc để truy cập khóa nếu nó tồn tại trong từ điển
Bằng cách này, chúng tôi sẽ không nhận được ngoại lệ KeyError
ngay cả khi một số khóa không tồn tại
Ngoài ra còn có một phương pháp dict.get[]
. Theo mặc định, phương thức trả về None
cho các khóa không tồn tại
mệnh lệnh. phương thức get trả về giá trị cho khóa đã cho nếu khóa đó có trong từ điển, nếu không thì trả về giá trị mặc định
Phương thức nhận 2 tham số sau
NameDescriptionkeyKhóa để trả về giá trịdefaultGiá trị mặc định được trả về nếu khóa được cung cấp không có trong từ điển [tùy chọn]Nếu giá trị cho tham số default
không được cung cấp, thì giá trị này sẽ mặc định là None
, vì vậy phương thức get[]
không bao giờ tăng giá trị KeyError
Nếu bạn cần chỉ định giá trị mặc định cho các khóa không tồn tại, hãy chuyển đối số thứ hai trong lệnh gọi phương thức dict.get[]
Ngoài ra, bạn có thể sử dụng vòng lặp if
0
Nhận nhiều giá trị từ một từ điển bằng vòng lặp for #
Để nhận nhiều giá trị từ một từ điển
- Sử dụng vòng lặp
if
0 để lặp lại bộ sưu tập khóa - Sử dụng phương pháp
if
2 để nối giá trị của từng khóa vào danh sách - Danh sách mới sẽ chỉ chứa các giá trị của các khóa được chỉ định
Chúng tôi đã sử dụng vòng lặp if
0 để lặp lại bộ sưu tập khóa
Trên mỗi lần lặp lại, chúng tôi kiểm tra xem khóa có trong từ điển hay không và sử dụng phương thức if
2 để thêm giá trị của nó vào danh sách mới
Danh sách. Phương thức append[] thêm một mục vào cuối danh sách
Ngoài ra, bạn có thể sử dụng phương pháp dict.get[]
để truy cập từng khóa
Đảm bảo chuyển đối số thứ hai cho phương thức dict.get[]
nếu bạn cần chỉ định giá trị mặc định cho các khóa không tồn tại
Một từ điển có thể được định nghĩa là một bộ khóa. cặp giá trị trong đó các khóa là duy nhất cho một từ điển nhất định
Multidict là gì?Multidict là một từ điển trong đó một số giá trị được ánh xạ tới một khóa
Ở đây, khóa 'd' có 2 phần tử và khóa 'e' có 3 phần tử. Tạo một multidict
Hãy nghĩ rằng bạn có một bộ chứa ba loại rau và năm loại trái cây
Mỗi trong số này có thể loại tương ứng của họ được đề cập
Chỉ nhìn vào những cặp này thì rất khó biết đâu là rau, đâu là trái cây. Do đó, chúng tôi muốn sắp xếp thứ này một cách độc đáo để chúng tôi có thể thấy rõ cái nào là rau và cái nào là trái cây
Cách tốt nhất là tạo một multidic như dưới đây
Ví dụ về multidict
Làm thế nào bạn có thể làm từ điển như đã thấy ở trên?
Có một cách khó khăn và một cách dễ dàng để làm điều này. Đầu tiên tôi sẽ giải thích cặn kẽ để bạn biết điều gì thực sự xảy ra bên trong
Cách khó
Đầu tiên, chúng tôi tạo một từ điển trống có tên là food_dict
Sau đó, trong một vòng lặp for, chúng tôi giải nén từng bộ một dưới dạng khóa và giá trị
Hai điều xảy ra bên trong vòng lặp này
Đầu tiên là trong khi lặp qua các cặp, chúng tôi kiểm tra xem khóa đã tồn tại trong từ điển food_dict của chúng tôi chưa. Nếu nó không có trong từ điển, chúng tôi tạo một khóa mới và một danh sách trống được ánh xạ tới khóa đó
Thứ hai là chúng tôi nối từng giá trị vào khóa tương ứng của chúng trong mỗi lần lặp
Đầu ra như dưới đây
Bây giờ hãy xem cách dễ dàng để làm điều này
Cách dễ dàng
Cách dễ dàng là sử dụng defaultdict từ thư viện bộ sưu tập
Điều xảy ra bên trong defaultdict là khi bạn cố gắng tìm một khóa, nếu khóa không có trong từ điển, nó sẽ tạo một mục nhập mới thay vì đưa ra lỗi
Sau đó, như được thấy bên dưới, bạn có thể tạo một multidict
Ở đây, nhiều giá trị được lưu trữ trong một danh sách. Bạn cũng có thể sử dụng một bộ cho mục đích này. Sự lựa chọn phụ thuộc vào cách bạn muốn từ điển của mình
Sử dụng danh sách nếu bạn muốn giữ các giá trị theo thứ tự chúng được thêm vào
Sử dụng một bộ nếu bạn chỉ muốn các giá trị duy nhất và thứ tự chúng được thêm vào không quan trọng
Ví dụ, giả sử rằng bạn có các cặp giá trị trong đó mỗi sinh viên đã chỉ ra chủ đề và tên của nhóm mà họ thuộc về
Bạn muốn biết tên nhóm duy nhất cho từng chủ đề
Để làm điều này, bạn có thể tạo một multidict với một bộ chứa
Bây giờ bạn có thể thấy rõ các tên nhóm duy nhất dành cho mỗi chủ đề là gì
Ghi chú. Bạn phải sử dụng phương pháp có liên quan để thêm giá trị vào vùng chứa. Đối với danh sách, phương thức chắp thêm được sử dụng và đối với bộ, phương thức thêm được sử dụng