Từ điển trong Python cấu trúc dữ liệu có thứ tự hay không có thứ tự?

Từ điển là cấu trúc dữ liệu lưu trữ dữ liệu theo cặp khóa-giá trị. Không giống như danh sách, bộ dữ liệu hoặc bộ chỉ lưu trữ một giá trị, từ điển cần hai giá trị, khóa và giá trị. Nó được viết dưới dạng khóa. giá trị. Giá trị có thể được in ra bằng cách gọi tên khóa

>>> fruits = {'apple': 'red', 'banana': 'green', 'cherry': 'red'}
>>> type[fruits]

>>> fruits['apple']
'red'

Tóm tắt về Từ điển Python

  1. Từ điển được đặt trong dấu ngoặc nhọn {}. Một từ điển trống có thể được tạo bằng cách sử dụng hàm dict[] hoặc chỉ các dấu ngoặc nhọn
>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]

2. Không nên có các khóa trùng lặp trong một từ điển. Nếu bạn có một từ điển có cùng khóa, thì giá trị gần đây nhất được liên kết với khóa đó sẽ được trả về

>>> fruits = {'apple': 'red', 'banana': 'green', 'grape': 'green'}
>>> material = {'biro': 'red', 'pencil': 'grey', 'biro': 'blue'}
>>> material['biro']
'blue'

Mọi thứ có thể trở nên khó hiểu nếu có các khóa trùng lặp trong từ điển

3. Các khóa trong từ điển thuộc loại có thể băm. Đó là chúng được tạo thành từ những vật thể không thay đổi trong suốt thời gian tồn tại của nó. Các đối tượng có thể thay đổi như danh sách không thể được sử dụng làm khóa trong từ điển. Các bộ dữ liệu có thể được sử dụng làm khóa vì chúng không thay đổi

>>> dict4 = {['a', 'b']: 'tuple', 'string': 'ball', 1: 'integer'}
>>> dict4
{['a', 'b']: 'tuple', 'string': 'ball', 1: 'integer'}
>>> dict5 = {[1, 2, 3]: 'list1'}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'

Các chuỗi và số nguyên cũng thuộc loại có thể băm để chúng có thể được sử dụng làm khóa trong từ điển. Các giá trị trong từ điển có thể thay đổi hoặc không thay đổi

4. Từ điển Python được sắp xếp cấu trúc dữ liệu. Nếu phiên bản python của bạn là 3. 7 trở lên, từ điển được đặt hàng, nếu phiên bản python của bạn dưới 3. 7, mọi từ điển bạn tạo sẽ không có thứ tự

>>> dict6 = {'name': 'James', 'age': 20, 'address': 'California'}
>>> dict6
{'name': 'James', 'age': 20, 'address': 'California'}

Bạn có thể kiểm tra phiên bản python của mình bằng cách mở dấu nhắc lệnh và gõ python rồi nhấn phím Enter. Đó là nếu bạn đã cài đặt python trên PC của mình

Dấu nhắc lệnh

5. Từ điển Python không cho phép trùng lặp. Giống như các bộ, nếu một khóa. cặp giá trị được viết hai lần trở lên, chỉ một trong số chúng được in ra

>>> dict7 = {'name': 'James', 'age': 20, 'age': 20}
>>> dict7
{'name': 'James', 'age': 20}
. Kết luận

Từ điển có rất nhiều trường hợp sử dụng trong python. Để có danh sách tất cả các phương thức mà từ điển python cho phép, hãy nhập help[dict] vào dấu nhắc lệnh của bạn sau khi tải python

Từ điển Python là một cấu trúc dữ liệu để lưu trữ các nhóm đối tượng. Nó bao gồm ánh xạ các cặp khóa-giá trị, trong đó mỗi khóa được liên kết với một giá trị. Nó có thể chứa dữ liệu có cùng kiểu dữ liệu hoặc khác nhau, không có thứ tự và có thể thay đổi

Cách tạo từ điển Python

Từ điển trống

Để khởi tạo một từ điển trống trong Python, chúng ta có thể chạy mã bên dưới và in nội dung của nó một cách đơn giản


empty_dict = {}

print[empty_dict]

bạn nên lấy

{}

Từ điển có giá trị

Khi chúng tôi muốn tạo một từ điển với một số giá trị mà chúng tôi muốn điền, chúng tôi thêm các giá trị dưới dạng một chuỗi các cặp khóa-giá trị được phân tách bằng dấu phẩy. Ví dụ: giả sử chúng tôi muốn tạo một từ điển với các quốc gia làm khóa và dân số của họ làm giá trị

________số 8

bạn nên lấy

{'China': 1439323776, 'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417}

Cách truy cập các giá trị từ từ điển Python

Để truy cập các giá trị được lưu trữ trong từ điển Python, chúng ta nên sử dụng khóa chúng được liên kết với giá trị. Ví dụ: giả sử chúng ta muốn lấy dân số của Hoa Kỳ từ từ điển các quốc gia trên. Chúng tôi biết rằng khóa của giá trị dân số là “USA” và chúng tôi sử dụng nó để truy cập giá trị dân số

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
0

bạn nên lấy

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
1

Ghi chú. không giống như danh sách Python, bạn không thể truy cập các giá trị từ từ điển bằng chỉ mục. Cách duy nhất để truy cập các giá trị là tìm kiếm một khóa có trong từ điển

Cách thêm phần tử vào từ điển Python

Trong phần này, chúng ta tiếp tục làm việc với từ điển quốc gia và thảo luận về các cách thêm phần tử vào từ điển Python

Thêm một phần tử

Giả sử chúng ta muốn thêm một quốc gia khác có dân số của quốc gia đó vào từ điển quốc gia của mình. Ví dụ: chúng tôi muốn thêm dân số của Nhật Bản là 126.476.461. Chúng ta có thể dễ dàng làm điều đó bằng cách thêm nó dưới dạng một cặp khóa-giá trị bổ sung vào từ điển

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
2

bạn nên lấy

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
3

Và bạn có thể thấy rằng chúng tôi đã thêm thành công một yếu tố mới vào từ điển

Thêm nhiều phần tử

Bây giờ, nếu chúng ta muốn thêm nhiều quốc gia thì sao? . Ví dụ: Nga và Mexico với dân số lần lượt là 145.934.462 và 128.932.753

Liệu cú pháp tương tự có hoạt động không? . Chúng ta sẽ cần sử dụng. update[] của cấu trúc dữ liệu từ điển Python. Những gì nó cho phép làm là thêm nhiều cặp khóa-giá trị được phân tách bằng dấu phẩy vào từ điển

Logic là tạo một từ điển mới [new_countries] từ các cặp khóa-giá trị mới và sau đó hợp nhất nó vào từ điển quốc gia

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
4

bạn nên lấy

>>> dict1 = {'a': 'apple', 'b': 'ball', 'c': 'cat'}
>>> type[dict1]

>>> dict2 = {}
>>> type[dict2]

>>> dict3 = dict[]
>>> type[dict3]
5

Và bạn có thể thấy rằng chúng tôi đã thêm thành công các yếu tố mới vào từ điển

Cách xóa các phần tử khỏi từ điển Python

Trong phần này, chúng ta tiếp tục làm việc với từ điển quốc gia và thảo luận về các cách xóa phần tử khỏi từ điển Python

Xóa một phần tử

Giả sử chúng ta cần thực hiện một số thay đổi và xóa cặp khóa-giá trị cho Trung Quốc và dân số của nước này khỏi từ điển. Chúng ta có thể dễ dàng loại bỏ nó bằng cách sử dụng. phương thức pop[]

{}
0

bạn nên lấy

{}
1

Và bạn có thể thấy rằng chúng tôi đã xóa thành công một phần tử khỏi từ điển

Xóa nhiều phần tử

Bước tiếp theo là khám phá cách xóa nhiều phần tử khỏi từ điển Python. Giả sử chúng ta muốn xóa Nhật Bản và Mexico và dân số tương ứng của họ khỏi từ điển quốc gia

Chúng ta biết rằng. Phương thức pop[] cho phép loại bỏ một phần tử trên mỗi lệnh gọi hàm, điều này cho chúng ta ý tưởng rằng nếu chúng ta lặp qua một danh sách với các khóa mà chúng ta muốn loại bỏ, chúng ta có thể gọi thành công. pop[] cho mỗi mục nhập

{}
2

bạn nên lấy

{}
3

Và bạn có thể thấy rằng chúng tôi đã xóa thành công các phần tử khỏi từ điển

Cách thay đổi các phần tử trong từ điển Python

Một chức năng khác cần đề cập là thay đổi các phần tử trong từ điển Python. Bạn sẽ thấy trong các phần bên dưới rằng chức năng thay đổi các thành phần giống hệt với chức năng của

Tại sao vậy?

Thay đổi một yếu tố duy nhất

Giả sử chúng ta muốn cập nhật giá trị dân số của Brazil lên 212560000 trong từ điển quốc gia

{}
4

bạn nên lấy

{}
5

Thay đổi nhiều yếu tố

Bây giờ, giả sử chúng ta muốn cập nhật các giá trị của dân số Indonesia và Pakistan thành 273530000 và 220900000 trong từ điển quốc gia tương ứng

Logic là tạo một từ điển mới [update_countries] từ các cặp khóa-giá trị mới, sau đó cập nhật các cặp khóa-giá trị hiện có trong từ điển quốc gia

{}
6

Và bạn sẽ nhận được

{}
7

Cách lặp qua từ điển Python

Trong phần này, chúng ta sẽ tập trung vào các cách lặp khác nhau trên từ điển Python

Lặp lại các khóa từ điển

Giả sử chúng tôi muốn lặp lại các khóa của từ điển quốc gia và in từng khóa [trong trường hợp của chúng tôi là mỗi quốc gia] trên một dòng riêng biệt

Chúng ta sẽ đơn giản sử dụng một vòng lặp for cùng với. keys[] phương pháp từ điển

{}
8

Và bạn sẽ nhận được

{}
9

Lặp lại các giá trị từ điển

Một trường hợp sử dụng khác có thể là chúng tôi muốn tìm tổng dân số của tất cả các quốc gia được lưu trữ trong từ điển quốc gia

Như bạn có thể tưởng tượng, chúng ta sẽ cần sử dụng lại vòng lặp for và bây giờ chúng ta sẽ sử dụng vòng lặp for. phương thức từ điển value[].


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
0

Và bạn sẽ nhận được


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
1

Lặp lại các mục từ điển

Và mục của từ điển Python là cặp khóa-giá trị của nó. Điều này cho phép chúng tôi thực hiện lặp lại các khóa và giá trị cùng nhau

Làm thế nào chúng ta có thể sử dụng nó? . Lặp lại từng mục của từ điển cho phép chúng tôi theo dõi cả khóa và giá trị cùng nhau


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
2

Và bạn sẽ nhận được


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
3

Từ điển lồng nhau trong Python

Một từ điển lồng nhau là một từ điển bao gồm các từ điển khác

Bạn có thể tạo các từ điển lồng nhau theo cách tương tự

Ví dụ: giả sử chúng ta muốn tạo một từ điển có thông tin về thủ đô cũng như dân số của mỗi quốc gia


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
4

Và bạn sẽ nhận được


countries = {
    "China": 1439323776,
    "India": 1380004385,
    "USA": 331002651,
    "Indonesia": 273523615,
    "Pakistan": 220892340,
    "Brazil": 212559417
}

print[countries]
5

Phần kết luận

Bài viết này là hướng dẫn giới thiệu về từ điển Python và các phương pháp quan trọng để tìm hiểu vì chúng được sử dụng trong nhiều lĩnh vực của lập trình và trong máy học

Vui lòng để lại nhận xét bên dưới nếu bạn có bất kỳ câu hỏi nào hoặc có đề xuất cho một số chỉnh sửa và xem thêm các bài viết về Cấu trúc dữ liệu của tôi

Từ điển có phải là cấu trúc dữ liệu có thứ tự không?

Sự khác biệt so với các cấu trúc dữ liệu tương tự . Items in a dictionary are accessed by key and are unordered.

Cấu trúc dữ liệu nào là một từ điển Python?

Từ điển là cách Python triển khai cấu trúc dữ liệu thường được gọi là mảng kết hợp . Một từ điển bao gồm một tập hợp các cặp khóa-giá trị. Mỗi cặp khóa-giá trị ánh xạ khóa với giá trị được liên kết của nó.

Khóa từ điển Python có được đặt hàng không?

Trả lời. Không, không có thứ tự đảm bảo nào cho danh sách các khóa được trả về bởi hàm keys[] . Trong hầu hết các trường hợp, danh sách khóa được trả về theo thứ tự như khi chèn, tuy nhiên, hành vi đó KHÔNG được đảm bảo và chương trình của bạn không nên phụ thuộc vào.

Là một từ điển một danh sách theo thứ tự?

Từ điển giống như một tập hợp các cặp khóa-giá trị và các tập hợp này không có thứ tự. Từ điển cũng không có nhiều chức năng sắp xếp lại. Chúng không giống như danh sách , nơi bạn có thể chèn các phần tử vào bất kỳ vị trí nào.

Chủ Đề