Từ điển có tốt hơn danh sách Python không?

Được thành lập vào năm 2016 tại Warsaw, Ba Lan. Nhiệm vụ của các nhà lập trình là giúp thế giới đưa phần mềm hoạt động theo những cách mới, thông qua việc cung cấp các ứng dụng web và 3D được điều chỉnh tùy chỉnh để phù hợp với nhu cầu của khách hàng

Cả hai đều là những công cụ được sử dụng trong ngôn ngữ Python, nhưng có một sự khác biệt quan trọng giữa Danh sách và Từ điển trong Python. Một danh sách đề cập đến một tập hợp các cặp giá trị chỉ số khác nhau như thế trong trường hợp của một mảng trong C++. Từ điển đề cập đến cấu trúc băm của các cặp khóa và giá trị khác nhau. Trong bài viết này, chúng ta sẽ thảo luận tương tự ở dạng bảng. Nhưng trước tiên chúng ta hãy biết thêm một chút về từng cá nhân này

Danh sách trong Python là gì?

Một danh sách giống như một mảng, nhưng khai báo của nó xảy ra trong các ngôn ngữ khác. Các danh sách không phải lúc nào cũng cần phải đồng nhất. Do đó, nó trở thành công cụ mạnh nhất trong trường hợp ngôn ngữ Python. Một danh sách có thể bao gồm nhiều Kiểu dữ liệu khác nhau, chẳng hạn như Chuỗi, Số nguyên và cả Đối tượng. Danh sách luôn có thể thay đổi. Vì vậy, chúng ta có thể thay đổi nó ngay cả sau khi chúng ta tạo nó.

Từ điển trong Python là gì?

Mặt khác, một từ điển đề cập đến một tập hợp các giá trị dữ liệu không có thứ tự mà chúng tôi sử dụng để lưu trữ các giá trị dữ liệu, chẳng hạn như bản đồ. Không giống như các Kiểu dữ liệu khác, chỉ có khả năng chứa một giá trị duy nhất dưới dạng một phần tử, Từ điển có khả năng giữ khóa. cặp giá trị. Trong Từ điển, dấu hai chấm phân tách tất cả các cặp khóa-giá trị với nhau, trong khi dấu phẩy phân tách tất cả các khóa với nhau

Sự khác biệt giữa Danh sách và Từ điển trong Python

Dưới đây là những khác biệt giữa Danh sách và Từ điển trong Python

Tham sốListDictionaryBasicsMột danh sách đề cập đến một tập hợp các cặp giá trị chỉ mục khác nhau giống như trong trường hợp của một mảng trong C++. Từ điển đề cập đến cấu trúc băm của các cặp khóa và giá trị khác nhau. Sáng tạoChúng ta có thể tạo một danh sách bằng cách đặt tất cả các phần tử có sẵn vào một [ ] và phân tách chúng bằng dấu phẩy “,”. Chúng ta có thể tạo một từ điển bằng cách đặt tất cả các phần tử có sẵn vào { } dưới dạng khóa. thung lũng. Ở đây, chúng ta phải phân tách từng cặp khóa-giá trị có sẵn bằng cách sử dụng dấu phẩy “,”. Kiểu dữ liệu Các chỉ số trong trường hợp danh sách về cơ bản là các số nguyên bắt đầu từ giá trị 0. Các khóa có trong từ điển có thể dễ dàng thuộc bất kỳ loại dữ liệu nào. Phương thức truy cậpChúng ta có thể truy cập các phần tử trong một khóa bằng cách sử dụng các chỉ số. Chúng ta có thể truy cập các phần tử có trong từ điển bằng cách sử dụng khóa-giá trị. Thứ tự các phần tử Thứ tự các phần tử đã nhập luôn được duy trì. Chúng tôi không có bất kỳ đảm bảo nào về việc duy trì thứ tự của các yếu tố có sẵn

Hãy tiếp tục học và theo dõi để nhận thông tin cập nhật mới nhất về Kỳ thi GATE cùng với Tiêu chí đủ điều kiện của GATE, GATE 2023, Thẻ nhập học GATE, Mẫu đơn đăng ký GATE, Đề cương GATE, GATE Cut off, GATE Câu hỏi năm trước, v.v.

PointsListDictionaryBasicsList đề cập đến tập hợp các mảng giống như cặp giá trị chỉ mục trong C/C++/Java. Từ điển đề cập đến cấu trúc băm của các cặp khác nhau như cặp khóa-giá trị. CreationList được khởi tạo với [] và các phần tử được phân tách bằng ','. Từ điển được tạo bằng cách đặt các thành phần trong {}, dữ liệu được thêm dưới dạng cặp khóa-giá trị và mỗi cặp được phân tách bằng ','. Các giá trị AccessingList có thể được truy cập bằng các chỉ mục số. Các mục từ điển có thể được truy cập bằng cách sử dụng các giá trị chính. Các giá trị khóa có thể thuộc bất kỳ loại dữ liệu nào. Thứ tự các phần tử Thứ tự các phần tử trong danh sách luôn được duy trì. Chúng tôi không có bất kỳ đảm bảo nào về việc duy trì thứ tự của các yếu tố có sẵn. PropertiesList được sắp xếp, có thể thay đổi và cho phép các giá trị trùng lặp. Trong một từ điển, từ điển không có thứ tự và có thể thay đổi, nhưng từ điển không cho phép các giá trị trùng lặp có cùng khóa trong đó. Lưu trữ dữ liệuDanh sách được sử dụng để lưu trữ dữ liệu, dữ liệu này phải được sắp xếp theo thứ tự và tuần tự. Nó lưu trữ một lượng lớn dữ liệu để truy cập dễ dàng và nhanh chóng

Ví dụ về danh sách và từ điển trong Python

ví dụ 1. Tạo và truy cập các giá trị của danh sách và từ điển trong Python

Mã số

# create a list
l1 = ['I', 'like', 'Apple']

# print the list with multiple values. It is the same as a 1D array in C, and C++.
print[l1[0]]
print[l1[1]]
print[l1[2]]

# create a list with multiple dimensions, like a 2D array.
l2 = [["I"], ["love"], ["chinese", "italian", "indian"]]

# print the list l2, showing the multiple dimension, i.e., 2D.
print[l2]
print[l2[0]]
print[l2[1]]
print[l2[2]]
print[l2[1][0]]

đầu ra

I
like
Apple
[['I'], ['love'], ['chinese', 'italian', 'indian']]
['I']
['love']
['chinese', 'italian', 'indian']
love

Giải trình

Mã python sau đây cho chúng ta biết cách triển khai danh sách, cách truy cập các mục trong danh sách bằng chỉ mục số và nhiều chiều của danh sách

Đầu vào

# create a dict with numeric keys. While accessing the elements of d1, it looks like a list, but it is a dictionary.
d1 = {
    1 : "I",
    2 : "like",
    3 : "apple"
}

print["Dictionary with numeric keys:"]
print[d1[1]]
print[d1[2]]
print[d1[3]]

# dict with non-numeric keys
d2 = {
    "Fruit" : "Apple",
    "King_of_fruits" : "Mango",
    "Seasonal_fruit" : "Strawberry"
}

print["Dictionary with non-numeric keys"]
print[d2["Fruit"]]
print[d2["King]of_fruits"]]
print[d2["Seasonal_fruit"]]

đầu ra

Dictionary with numeric keys:
I
like
apple
Dictionary with non-numeric keys
Apple
Mango
Strawberry

Giải trình. Trong mã python sau đây, chúng ta đã thấy rằng từ điển mất ít thời gian hơn so với danh sách. Danh sách mất nhiều thời gian hơn để tìm nạp một phần tử từ danh sách so với từ điển vì từ điển sử dụng bảng băm để triển khai sắp xếp

Tại sao chọn một danh sách trên một từ điển Python?

Sử dụng từ điển khi bạn có một bộ khóa duy nhất ánh xạ tới các giá trị. Sử dụng danh sách nếu bạn có bộ sưu tập các mục theo thứ tự .

Là từ điển hoặc danh sách nhanh hơn để tra cứu?

Tất nhiên, về nguyên tắc, Từ điển có khả năng tra cứu nhanh hơn với O[1] trong khi hiệu suất tra cứu của Danh sách là thao tác O[n]. Từ điển ánh xạ một khóa tới một giá trị và không thể có các khóa trùng lặp, trong khi danh sách chỉ chứa một tập hợp các giá trị. Ngoài ra, Danh sách cho phép các mục trùng lặp và hỗ trợ truyền tải tuyến tính

Nhược điểm của từ điển trong Python là gì?

Dưới đây là một số nhược điểm khi sử dụng từ điển Python. [i] Từ điển không có thứ tự . Trong trường hợp thứ tự của dữ liệu là quan trọng, từ điển Python không phù hợp. [ii] Từ điển Python chiếm nhiều dung lượng hơn các cấu trúc dữ liệu khác.

Chủ Đề