Một đối tượng có thể là một giá trị trong từ điển Python không?
Thông thường, để truy cập các giá trị trong từ điển, tôi cần đảm bảo và tham khảo rất cụ thể tất cả các giá trị phù hợp không có lỗi chính tả. Nếu tôi muốn lấy giá trị được lưu trong khóa 1, tôi cần gõ chính xác Show
Vì hầu hết thời gian tôi làm việc trong Jupyter, nên tôi tận dụng lợi thế của việc hoàn thành và xem xét nội tâm để khám phá các thuộc tính và tránh lỗi chính tả. Từ điển Python không giúp ích nhiều cho việc này, nhưng các Đối tượng Python thì có. Điều này đặt ra một cách hợp lý câu hỏi, làm thế nào để tạo hệ thống phân cấp đối tượng lồng nhau để tôi có thể truy cập cùng một giá trị bằng cú pháp dấu chấm
Mặc dù với các từ điển đơn giản, đây không phải là vấn đề lớn, nhưng khi làm việc với các phản hồi từ các điểm cuối REST, các thông báo JSON được trả về có thể rất lớn. Truy cập dễ dàng hơn vào tất cả các thuộc tính làm cho cuộc sống dễ dàng hơn rất nhiều. Khai báo đối tượng nhỏ sau đây có thể được sử dụng để chuyển đổi các từ điển được lồng sâu thành các đối tượng lồng nhau
Điều này giúp việc tìm hiểu các phản hồi JSON sâu từ các điểm cuối REST dễ dàng hơn rất nhiều. Bắt đầu đủ đơn giản, từ điển trên được chuyển đổi thành một đối tượng lồng nhau
Sau đó, việc truy cập các thuộc tính đơn giản như sử dụng cú pháp dấu chấm
Vì đây là điều mà tôi thường xuyên gặp phải khi đào sâu vào JSON từ các phản hồi REST, nên tôi sẽ sử dụng Luồng thời gian thực của USGS làm ví dụ trong thế giới thực
Thủ thuật nhỏ này đã giúp cuộc sống của tôi dễ dàng hơn rất nhiều khi xử lý JSON rối rắm quay trở lại từ các điểm cuối REST. Hy vọng rằng, nó cũng làm cho cuộc sống của bạn dễ dàng hơn một chút Từ điển Python là một tập hợp các cặp khóa-giá trị. Một từ điển là một đối tượng của lớp dict. Đó là một bộ sưu tập không có thứ tự có nghĩa là trong khi lặp lại thứ tự truy xuất không được đảm bảo. Các khóa và giá trị từ điển có thể thuộc bất kỳ loại nào. Họ cũng có thể là >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File "0. Khóa và giá trị của nó được phân tách bằng dấu hai chấm. Các bản ghi từ điển được lập chỉ mục bằng cách sử dụng khóa Mục từ điển PythonCác cặp khóa-giá trị còn được gọi là các mục hoặc thành phần của từ điển. Chúng ta có thể sử dụng dict. items() để có thể lặp lại các mục trong từ điển. Không có hạn chế về giá trị của các mục từ điển Khóa từ điển PythonCác phím là duy nhất trong từ điển. Nó được sử dụng để lấy các bản ghi từ từ điển. Một từ điển được tạo bằng cách sử dụng một cặp dấu ngoặc nhọn. Các cặp khóa-giá trị được phân tách bằng dấu phẩy Khóa từ điển phải là bất biến. Vì vậy, chúng tôi có thể sử dụng chuỗi, số và bộ dữ liệu làm khóa chính tả. Nếu bộ chứa bất kỳ đối tượng có thể thay đổi nào, chúng tôi không thể sử dụng nó làm khóa từ điển Chúng tôi có thể sử dụng Danh sách làm Khóa từ điển không?Chúng tôi không thể sử dụng Danh sách làm khóa từ điển vì nó có thể được sửa đổi. Nếu chúng ta cố gắng sử dụng một danh sách làm khóa, nó sẽ đưa ra “TypeError. loại không thể xóa. danh sách" Tạo từ điểnCác mục từ điển được phân tách bằng dấu phẩy và cặp khóa-giá trị được phân tách bằng dấu hai chấm. Các dấu ngoặc nhọn được sử dụng để xác định từ điển với tất cả các mục. Hãy xem một ví dụ đơn giản để tạo một từ điển và in nó >>> fruits_dict = {"1": "Apple", "2": "Banana", 3: "Orange", None: "NA"} >>> print(fruits_dict) {'1': 'Apple', '2': 'Banana', 3: 'Orange', None: 'NA'} >>> type(fruits_dict) Lưu ý rằng loại của lớp từ điển là >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File "1 và các khóa-giá trị cũng thuộc các loại khác nhau Truy cập các giá trị từ điểnChúng ta có thể truy cập một giá trị từ điển bằng cách sử dụng tên khóa trong ngoặc vuông >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA' Nếu khóa không tồn tại, cách này để truy cập phần tử từ điển sẽ làm tăng KeyError. Tốt hơn là sử dụng phương thức >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File "2 trả về >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File "0 nếu không có khóa Thêm/Cập nhật giá trị từ điểnChúng ta có thể thêm hoặc cập nhật các phần tử từ điển bằng toán tử gán. Nếu khóa không tồn tại trong từ điển, cặp khóa-giá trị sẽ được thêm vào từ điển. Nếu không, giá trị được cập nhật với giá trị mới 2Xóa các mục từ điểnChúng ta có thể sử dụng từ khóa del để xóa cặp khóa-giá trị từ điển. Nếu chúng ta sử dụng từ khóa del với từ điển thì toàn bộ từ điển sẽ bị xóa, khác với việc xóa tất cả các thành phần của từ điển >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File " Lặp lại từ điển bằng vòng lặp forChúng ta có thể lặp qua từ điển bằng vòng lặp for. Có nhiều cách sử dụng vòng lặp for với từ điển 1. Mục từ điển () chức năngHàm items() trả về một đối tượng dict_items, có thể lặp lại. Chúng ta có thể sử dụng nó với vòng lặp for và giải nén các phần tử của nó thành khóa và giá trị, sau đó sử dụng chúng bên trong vòng lặp for 4đầu ra 52. Lặp qua các phím từ điểnNếu chúng ta sử dụng đối tượng từ điển trong vòng lặp for, nó sẽ trả về từng khóa một. Vì từ điển không có thứ tự nên các khóa được trả về có thể theo bất kỳ thứ tự nào 6đầu ra 73. Các giá trị từ điển Python()Chúng ta có thể sử dụng hàm values() để lấy các giá trị từ điển và sau đó lặp lại chúng. Hàm values() trả về một đối tượng dict_values, là danh sách các giá trị trong dict 8đầu ra 9Kiểm tra xem khóa có tồn tại trong Từ điển khôngChúng ta có thể sử dụng từ khóa “in” để kiểm tra xem từ khóa có tồn tại trong từ điển hay không. Tương tự chúng ta có thể dùng từ khóa “not in” để kiểm tra xem có thiếu key hay không >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'0 Độ dài của từ điểnChúng ta có thể sử dụng hàm len() để tìm ra độ dài hoặc kích thước của từ điển >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'1 Trình xây dựng dict() của PythonChúng ta có thể sử dụng hàm tạo dict() tích hợp để tạo một đối tượng từ điển >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'2 Phương pháp từ điển PythonLớp dict Python có nhiều phương thức. Hãy xem xét một số phương thức quan trọng của lớp dict 1. giá trị()Phương thức này trả về một đối tượng chứa các giá trị từ từ điển. Loại đối tượng được trả về là 'dict_values' và chúng ta có thể lặp lại nó để thực hiện một số thao tác trên các giá trị từ điển >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'3 2. mặt hàng()Phương pháp này cung cấp chế độ xem giống như tập hợp các mục Từ điển. Nó chủ yếu được sử dụng để giải nén các cặp khóa-giá trị từ điển thành các giá trị khác nhau và sau đó lặp lại chúng >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'4 đầu ra >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'5 3. pop(key[,default])Phương thức này xóa khóa đã chỉ định khỏi từ điển và trả về giá trị tương ứng. Nếu không tìm thấy khóa, giá trị mặc định tùy chọn được trả về. Nếu không tìm thấy khóa và giá trị mặc định không được cung cấp, KeyError sẽ được nâng lên >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'6 Chúng tôi đang sử dụng khối thử ngoại trừ để bắt lỗi KeyError và in thông báo lỗi 4. sao chép()Hàm này trả về một bản sao nông của từ điển. Nếu đối tượng bên dưới có thể thay đổi và thay đổi, thì thay đổi đó cũng sẽ phản ánh trong lệnh được trả về bằng phương thức copy() >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'7 đầu ra >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'8 5. xa lạ()Phương pháp này loại bỏ tất cả các mục từ từ điển. Nó tương tự như việc gán biến cho một từ điển trống >>> fruits_dict["1"] 'Apple' >>> fruits_dict["2"] 'Banana' >>> fruits_dict[3] 'Orange' >>> fruits_dict[None] 'NA'9 6. fromKeys(có thể lặp lại, giá trị)Phương thức tĩnh này tạo một từ điển mới với các khóa từ có thể lặp lại và các giá trị được đặt thành giá trị được cung cấp. Nếu giá trị không được cung cấp, các giá trị được đặt thành Không có 20đầu ra 217. nhận (khóa [, mặc định])Phương thức này trả về giá trị cho khóa. Nếu không tìm thấy khóa, giá trị mặc định tùy chọn được trả về. Nếu không tìm thấy khóa và giá trị mặc định không được cung cấp, thì trả về Không có 228. phím()Hàm này trả về danh sách các khóa trong đối tượng dict_keys. Chúng tôi có thể lặp lại danh sách này để xử lý các giá trị từ điển 23đầu ra 249. popitem()Phương thức này loại bỏ và trả về một số mục từ điển dưới dạng bộ khóa-giá trị. Nếu từ điển trống, KeyError được nâng lên. Chúng ta có thể sử dụng chức năng này với vòng lặp while để xử lý các mục từ điển theo thứ tự ngẫu nhiên 25đầu ra 2610. setdefault(key[,default])Phương pháp này được sử dụng để thêm một khóa vào từ điển khi và chỉ khi nó không có trong từ điển. Phương thức này đặt giá trị khóa thành giá trị mặc định được cung cấp, nếu không thì Không Phương thức trả về giá trị cho khóa nếu nó có trong từ điển, nếu không thì trả về giá trị mặc định 27đầu ra 2811. cập nhật (dict)Phương pháp này được sử dụng để cập nhật các mục từ điển từ từ điển đã cho. Nếu không tìm thấy khóa từ điển đã cho, nó sẽ được thêm vào từ điển. Nếu khóa được tìm thấy, giá trị sẽ được cập nhật 29đầu ra. >>> my_dict = {1:"1", 2:"2"} >>> del my_dict[1] >>> print(my_dict) {2: '2'} >>> del my_dict >>> print(my_dict) Traceback (most recent call last): File "4 Bản tóm tắtTừ điển là một bộ sưu tập giống như bản đồ để lưu trữ các cặp khóa-giá trị. Các mục trong từ điển được truy cập thông qua chỉ mục dựa trên khóa. Chúng tôi có thể cập nhật, thêm và xóa các mục từ điển. Có nhiều cách khác nhau để sử dụng vòng lặp for để lặp qua các khóa, giá trị hoặc mục từ điển Một đối tượng có thể là một khóa trong từ điển Python không?Thuộc tính của Khóa từ điển
. Chúng có thể là bất kỳ đối tượng Python tùy ý nào, đối tượng tiêu chuẩn hoặc đối tượng do người dùng định nghĩa .
Các đối tượng có thể được lưu trữ trong từ điển Python không?Từ điển Python là một cách nhanh chóng, linh hoạt để lưu trữ và truy xuất dữ liệu theo tên hoặc thậm chí là một loại đối tượng phức tạp hơn, thay vì chỉ theo số chỉ mục. Từ điển Python bao gồm một hoặc nhiều khóa—một đối tượng như chuỗi hoặc số nguyên. Mỗi khóa được liên kết với một giá trị, có thể là bất kỳ đối tượng Python nào .
Điều gì có thể là một giá trị trong từ điển Python?Các chuỗi, số và bộ dữ liệu hoạt động như các khóa và bất kỳ loại nào cũng có thể là một giá trị. Các loại khác có thể hoặc không thể hoạt động chính xác như các khóa (chuỗi và bộ dữ liệu hoạt động rõ ràng vì chúng không thay đổi). Tra cứu một giá trị không có trong chính tả sẽ đưa ra Lỗi Key -- sử dụng "in" để kiểm tra xem khóa có trong chính tả hay sử dụng dict
Điều gì không thể là một giá trị trong từ điển Python?Ngay cả các bộ cũng có thể là một khóa. Từ điển hoặc danh sách không thể là khóa. Mặt khác, các giá trị có thể là bất cứ thứ gì theo nghĩa đen và chúng có thể được sử dụng nhiều lần. |