Hướng dẫn what is the advantage of python dictionary? - lợi thế của từ điển python là gì?

Tăng cường các tập lệnh của bạn bằng cách sử dụng từ điển hiệu quả hơn

Ảnh của Element5 Digital trên Unplash

Cấu trúc dữ liệu là các thành phần chính của các chương trình. Chúng giữ hoặc chứa dữ liệu theo một cách cụ thể để làm cho các chương trình hoạt động hiệu quả hơn. Cách truy cập dữ liệu được lưu trữ trong cấu trúc dữ liệu cũng có tầm quan trọng quan trọng.

Từ điển là một trong những cấu trúc dữ liệu cốt lõi trong Python. Một từ điển chứa các cặp giá trị khóa. Một giá trị có thể dễ dàng được truy cập thông qua khóa của nó. Đây là một ví dụ đơn giản:

members = {1001: "John", 1002: "Jane", 1003: "Emily"}print(members[1001])
John

Trong bài viết này, chúng tôi sẽ vượt qua 4 tính năng phải biết của từ điển Python. Chúng rất cần thiết để sử dụng từ điển một cách hiệu quả và phù hợp.

1. Từ điển không được đặt hàng

Một từ điển chứa các cặp giá trị khóa nhưng không có thứ tự cho các cặp. Do đó, một định nghĩa chính xác hơn là một từ điển là một bộ sưu tập không có thứ tự các cặp giá trị khóa.

Do đó, chúng tôi không thể thực hiện các hoạt động điển hình liên quan đến thứ tự của các mục. Chẳng hạn, không thể có được mục đầu tiên hoặc cuối cùng trong từ điển.

Một hoạt động phổ biến khác được thực hiện với các chỉ số số là cắt. Nó có thể được thực hiện trong danh sách Python:

mylist = ["John", "Jane", "Emily"]print(mylist[0])
John
print(mylist[1:])
['Jane', 'Emily']

Không giống như danh sách, từ điển được lập chỉ mục bởi các khóa. Do đó, không thể thực hiện các hoạt động này trên từ điển do không có đơn đặt hàng. Chúng ta có thể truy cập một giá trị bằng cách chuyển khóa của nó trong dấu ngoặc vuông hoặc phương thức GET.

members = {1001: "John", 1002: "Jane", 1003: "Emily"}members[1001]
'John'
members.get(1001)
'John'

Điều quan trọng cần lưu ý là thiếu một đơn đặt hàng không phải là sự thiếu hụt từ điển Python. Trong thực tế, nó có thể được coi là một thế mạnh. Họ cho phép nhanh chóng truy cập và truy xuất thông tin liên quan đến một khóa cụ thể.

2. Chìa khóa là duy nhất

Khóa từ điển phải là duy nhất. Nó có ý nghĩa bởi vì chúng tôi sử dụng chúng để truy cập các giá trị. Có các khóa trùng lặp đánh bại mục đích sử dụng từ điển để lưu trữ thông tin.

Mặc dù một từ điển không cho phép tạo các khóa trùng lặp, nhưng nó không cảnh báo bạn nếu bạn sử dụng cùng một khóa nhiều lần. Vì vậy, bạn cần phải cẩn thận hơn để không gây ra bất kỳ hành vi bất ngờ nào.

Hãy cùng đi qua một vài ví dụ để làm cho nó rõ ràng hơn.

members = {1001: "John", 1002: "Jane", 1003: "Emily", 1001: "Max"}print(members)
{1001: 'Max', 1002: 'Jane', 1003: 'Emily'}

Chúng tôi sử dụng cùng một khóa (1001) hai lần nhưng không gặp bất kỳ lỗi nào. Thay vào đó, Python ghi đè lên giá trị trước đó với giá trị mới.

Hành vi tương tự được quan sát khi cập nhật từ điển. Chúng tôi có thể thêm một mục mới vào từ điển như dưới đây:

members[1004] = "Ashley"print(members)
{1001: 'Max', 1002: 'Jane', 1003: 'Emily', 1004: 'Ashley'}

Khóa 1004 không có trong từ điển thành viên nên nó được thêm vào với giá trị đã cho. Nếu chúng ta sử dụng cùng một phương thức và truyền một khóa đã có trong từ điển, giá trị của nó sẽ được cập nhật.

members[1001] = "AAAAA"print(members)
{1001: 'AAAAA', 1002: 'Jane', 1003: 'Emily', 1004: 'Ashley'}

Do đó, nó giống như cập nhật giá trị của khóa hơn là tạo một cặp giá trị khóa mới.

3. Chìa khóa phải bất biến

Các phím từ điển phải thuộc loại bất biến. Chuỗi và số là hai loại dữ liệu được sử dụng phổ biến nhất làm khóa từ điển. Chúng ta cũng có thể sử dụng các bộ dữ liệu làm khóa nhưng chúng phải chỉ chứa chuỗi, số nguyên hoặc các bộ dữ liệu khác.

Chúng tôi đã tạo ra một từ điển với các khóa số nguyên. Hãy để tạo ra một vài thứ nữa với các phím chuỗi và tuple.

# string keys
dict_a = {"Param1": "value1", "Param2": "value2"}
print(dict_a)
{'Param1': 'value1', 'Param2': 'value2'}

# tuple keys
dict_b = {(1, 10): "value1", (1,20): "value2"}
print(dict_b)
{(1, 10): 'value1', (1, 20): 'value2'}

Nếu chúng ta cố gắng tạo một khóa của một loại có thể thay đổi (nghĩa là không thể không), một lỗi loại được nêu ra.

dict_c = {[1, 2] : "value1", [1,4]: "value2"}
TypeError: unhashable type: 'list'
dict_d = {(1, [1,2]): "value1"}
TypeError: unhashable type: 'list'

4. Từ điển Hiểu

Có một số phương pháp để tạo ra một từ điển trong Python. Một phương pháp là viết các cặp giá trị khóa trong niềng răng xoăn như chúng ta đã thực hiện cho đến thời điểm này.

Một tùy chọn khác là hàm tạo

mylist = ["John", "Jane", "Emily"]print(mylist[0])
John
print(mylist[1:])
['Jane', 'Emily']
1 tạo ra một từ điển từ một chuỗi các cặp giá trị khóa.

sequence = [[1, "John"], [2, "Jane"]]dict(sequence)
{1: 'John', 2: 'Jane'}

Hiểu từ điển tương tự như khái niệm hiểu danh sách. Đó là cách thực tế hơn để tạo ra các từ điển chứa một tập hợp các giá trị có cấu trúc.

Hãy xem xét chúng tôi có văn bản sau.

text = "By 1908, Einstein was recognized as a leading scientist and was appointed lecturer at the University of Bern"

Chúng tôi muốn có được một cái nhìn tổng quan về độ dài của các từ trong văn bản này. Chúng ta có thể tạo một từ điển chứa cả các từ và độ dài của chúng. Từ điển Hiểu hoàn thành nhiệm vụ này chỉ đơn giản như sau:

mylist = ["John", "Jane", "Emily"]print(mylist[0])
John
print(mylist[1:])
['Jane', 'Emily']
0

Chúng tôi chia văn bản tại các ký tự không gian và sử dụng từng từ làm khóa. Các giá trị được tính toán gọi hàm

mylist = ["John", "Jane", "Emily"]print(mylist[0])
John
print(mylist[1:])
['Jane', 'Emily']
2 tích hợp trên các từ.

(Hình ảnh của tác giả)

Điều đáng nhấn mạnh là chúng tôi không nhận được bất kỳ thông tin nào về số lần xuất hiện của các từ trong văn bản. Từ điển bao gồm các từ độc đáo.

Sự kết luận

Từ điển là một cấu trúc dữ liệu rất quan trọng trong Python. Đôi khi chúng được gọi là mảng liên kết của người Viking trong các ngôn ngữ lập trình khác. Họ cho phép nhanh chóng lấy thông tin về một mục. Hãy cùng làm một sự tương tự để chứng minh việc sử dụng từ điển.

Hãy xem xét một cuốn sách địa chỉ mà không có bất kỳ cấu trúc tổ chức. Khi một mục mới được thêm vào, nó được viết ở cuối. Để tra cứu một địa chỉ trong cuốn sách này, bạn sẽ bắt đầu đọc từ đầu. Trong bạn không may mắn, bạn có thể phải đọc cho đến cuối cùng để tìm thấy những gì bạn đang tìm kiếm.

Nếu sổ địa chỉ này có một phần riêng cho mỗi chữ cái và địa chỉ được lưu trữ theo các chữ cái ban đầu của chúng, sẽ dễ dàng hơn nhiều để tìm một địa chỉ. Từ điển cung cấp một tra cứu dễ dàng như vậy. Chúng tôi cung cấp cho họ chìa khóa và họ trả về giá trị liên quan.

Cảm ơn bạn đã đọc. Vui lòng cho tôi biết nếu bạn có bất kỳ phản hồi.

Từ điển python hữu ích ở đâu?

Từ điển được sử dụng trong Python để lưu trữ nhiều dữ liệu với các cặp giá trị khóa. Nó hoạt động giống như một mảng kết hợp của các ngôn ngữ lập trình khác. Các dấu ngoặc xoăn ({}) được sử dụng để xác định từ điển và giá trị khóa được xác định bởi đại tràng (:). Nội dung của khóa và giá trị có thể là số hoặc chuỗi.to store multiple data with key-value pairs. It works like an associative array of other programming languages. The curly ({}) brackets are used to define a dictionary and the key-value is defined by the colon(:). The content of the key and value can be numeric or string.

Từ điển có quan trọng trong Python không?

Từ điển là các cấu trúc dữ liệu quan trọng trong Python sử dụng các khóa để lập chỉ mục.Chúng là một chuỗi các mục không được đặt hàng (các cặp giá trị khóa), có nghĩa là thứ tự không được bảo tồn.Các chìa khóa là bất biến. that use keys for indexing. They are an unordered sequence of items (key-value pairs), which means the order is not preserved. The keys are immutable.

Các tính năng của từ điển Python là gì?

4 Các tính năng phải biết của từ điển Python..
Từ điển không được đặt hàng.Một từ điển chứa các cặp giá trị khóa nhưng không có thứ tự cho các cặp.....
Chìa khóa là duy nhất.Khóa từ điển phải là duy nhất.....
Chìa khóa phải là bất biến.Các phím từ điển phải thuộc loại bất biến.....
Từ điển hiểu ..

Tại sao từ điển nhanh hơn trong Python?

Tra cứu nhanh hơn trong từ điển vì Python thực hiện chúng bằng cách sử dụng các bảng băm.Nếu chúng ta giải thích sự khác biệt của các khái niệm O Big O, từ điển có độ phức tạp về thời gian không đổi, O (1) trong khi các danh sách có độ phức tạp thời gian tuyến tính, O (n).Python implements them using hash tables. If we explain the difference by Big O concepts, dictionaries have constant time complexity, O(1) while lists have linear time complexity, O(n).