Từ điển trong python là gì

Chúng ta có thể chuyển khái niệm từ điển từ đời thực sang từ điển trong Python. Xét cho cùng, từ điển là một đối tượng chứa các từ và mỗi từ có một nghĩa liên quan đến nó. Thực hiện song song, chúng ta sẽ nói rằng trong Python, từ điển cũng là một đối tượng được lập chỉ mục bởi các khóa [từ] có giá trị [ý nghĩa] liên quan. 1

Tương tự từ điển trong Python

Từ điển trong Python có các đặc điểm sau

  • Họ duy trì thứ tự mà các phím được chèn. hai

  • Chúng có thể thay đổi, cho phép chúng thêm, xóa và sửa đổi các phần tử của chúng.

  • Khóa phải là duy nhất. Các chuỗi thường được sử dụng làm khóa, nhưng thực tế có thể là bất kỳ loại dữ liệu bất biến nào. số nguyên, số float, bộ dữ liệu [trong số những số khác]

  • Họ có quyền truy cập rất nhanh vào các yếu tố của mình, do cách chúng được triển khai nội bộ. 3

Ghi chú

Trong các ngôn ngữ lập trình khác, từ điển được gọi là mảng kết hợp, "băm" hoặc "bản đồ băm".

Tạo từ điển¶

Để tạo một từ điển, chúng tôi sử dụng dấu ngoặc nhọn

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
9 xung quanh các nhiệm vụ
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
0 được phân tách bằng dấu phẩy. Hãy xem một số ví dụ về từ điển

________hai

Trong đoạn mã trên, chúng ta có thể thấy việc tạo một từ điển trống, một từ điển khác trong đó các khóa và giá trị của nó là các chuỗi văn bản và một từ khác trong đó các khóa và giá trị là các giá trị nguyên.

Bước qua Python Tutor

báo trước

Mặc dù được phép, KHÔNG BAO GIỜ gọi

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
1 trên một biến vì bạn sẽ phá hủy chức năng cho phép chúng ta tạo từ điển. Và cũng không sử dụng các tên dẫn xuất như
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
2 hoặc
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
3 vì chúng không phải là tên đại diện xác định mục đích của biến .

Tập thể dục

Tạo một từ điển với tên của 5 người trong gia đình bạn và tuổi của họ.

Dung dịch.

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
4

Chuyển đổi¶

Để chuyển các loại dữ liệu khác thành từ điển ta có thể sử dụng hàm

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
5

________số 8

Ghi chú

Nếu chúng ta quan sát kỹ, bất kỳ iterable nào có cấu trúc bên trong gồm 2 phần tử đều có khả năng được chuyển đổi thành từ điển thông qua chức năng

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
5

Từ điển rỗng¶

Có một cách đặc biệt để sử dụng

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
5 và đó là không chuyển bất kỳ đối số nào cho nó. Trong trường hợp này, chúng tôi sẽ muốn chuyển đổi "trống" thành một từ điển, nhờ đó chúng tôi sẽ có được một từ điển trống

________mười một

Bí quyết, Thuật, mẹo

Để tạo một từ điển trống, thông thường nên sử dụng

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
9 so với
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
5, không chỉ vì nó mang tính Pythonic hơn mà còn vì nó [trung bình] có hiệu suất thời gian chạy tốt hơn

Sáng tạo với
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax

Cũng có thể dùng hàm ________ 15 để tạo từ điển và không phải dùng dấu ngoặc nhọn và dấu ngoặc kép

Giả sử chúng ta muốn chuyển bảng sau thành một từ điển

Thuộc tính

Đáng giá

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
62

chàng

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
63

Van Rossum

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
64

người tạo Python

Sử dụng cấu trúc thông qua

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
1, chúng ta có thể chuyển khóa và giá trị làm đối số cho hàm

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}

Hạn chế của phương pháp này là các khóa phải là mã định danh hợp lệ trong Python. Ví dụ, khoảng cách không được phép

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax

Trình độ trung cấp

Có thể tạo một từ điển bằng cách chỉ định các khóa của nó và một giá trị "đệm" duy nhất

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
6

Ghi chú

Việc chuyển bất kỳ "có thể lặp lại" nào làm tham chiếu đến các khóa là hợp lệ

Thao tác từ điển¶

Nhận một phần tử¶

Để lấy một phần tử từ từ điển, chỉ cần viết khóa trong ngoặc vuông. hãy xem một ví dụ

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
3

Nếu chúng tôi cố gắng truy cập một khóa không tồn tại, chúng tôi sẽ gặp lỗi

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
4

Sử dụng
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
66¶

Có một chức năng rất hữu ích để "khắc phục" lỗi truy cập có thể xảy ra do không tồn tại khóa. Đó là

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
66 và hành vi của nó như sau

  1. Nếu khóa chúng tôi đang tìm kiếm tồn tại, nó sẽ trả về giá trị của nó

  2. Nếu khóa chúng tôi đang tìm kiếm không tồn tại, nó sẽ trả về

    >>> person = dict[
    ..     name='Guido van Rossum',
    ..     date of birth='31/01/1956'
      File "", line 3
        date of birth='31/01/1956'
              ^
    SyntaxError: invalid syntax
    
    68 4 trừ khi chúng tôi chỉ ra một giá trị mặc định khác, nhưng trong cả hai trường hợp, chúng tôi sẽ không gặp lỗi

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
8

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
9

dòng 6

Tương đương với

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
69

dòng 9

Khóa tìm kiếm không tồn tại và chúng tôi nhận được

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
68. 5

dòng 11

Khóa đã tìm kiếm không tồn tại và nó trả về giá trị mà chúng tôi đã cung cấp theo mặc định

Thêm hoặc sửa đổi một phần tử¶

Để thêm một phần tử vào từ điển, chỉ cần tham khảo khóa và gán cho nó một giá trị

  • Nếu khóa đã tồn tại trong từ điển, giá trị hiện có sẽ được thay thế bằng giá trị mới

  • Nếu khóa mới, nó sẽ được thêm vào từ điển với giá trị của nó. Chúng tôi sẽ không gặp lỗi không giống như danh sách

Chúng tôi bắt đầu từ điển sau đây để minh họa cho những hành động này

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
0

Chúng tôi sẽ thêm từ truy tố vào từ điển của Học viện Ngôn ngữ Hoàng gia

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
1

Bây giờ giả sử rằng chúng ta muốn sửa đổi ý nghĩa của từ công tố cho một ý nghĩa khác

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
2

Tạo từ void¶

Một cách rất phổ biến để làm việc với từ điển là sử dụng mẫu tạo từ mẫu trống và thêm từng phần tử một.

Giả sử một ví dụ mà chúng tôi muốn xây dựng một từ điển trong đó các khóa là các chữ cái nguyên âm và các giá trị là vị trí của chúng

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
3

Ghi chú

Chúng tôi đã sử dụng chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
31 mà chúng tôi đã thấy cho các danh sách trong phần. Lặp lại bằng cách sử dụng enum .

Tập thể dục

Tạo từ điển từ một chuỗi có định dạng sau

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
32

  • phím. các thành phố

  • giá trị. cư dân [dưới dạng số nguyên]

Thí dụ

  • Lối vào.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    33

  • Sự khởi hành.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    .3.4

Dung dịch.

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
35

Quyền sở hữu khóa¶

Cách Pythonic để kiểm tra sự tồn tại của khóa bên trong từ điển là sử dụng toán tử

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
36

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
4

Ghi chú

Toán tử

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
36 luôn trả về giá trị boolean, nghĩa là đúng hoặc sai

Tập thể dục

Sử dụng từ điển, đếm số lần mỗi chữ cái được lặp lại trong một chuỗi văn bản đã cho.

Thí dụ
  • Lối vào.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    38

  • Sự khởi hành.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    39

Dung dịch.

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
40

Nhận tất cả các phần tử¶

Python cung cấp các cơ chế để lấy tất cả các thành phần của từ điển. Chúng ta bắt đầu từ điển sau

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
5

Nhận tất cả các khóa từ một từ điển

Sử dụng chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
41

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
6

Nhận tất cả các giá trị từ một từ điển

Sử dụng chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
42

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
7

Nhận tất cả các cặp "khóa-giá trị" từ từ điển

Sử dụng chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
43

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
8

Ghi chú

Đối với trường hợp sau, cần lưu ý rằng "các mục" được trả về dưới dạng danh sách các bộ, trong đó mỗi bộ có hai phần tử. cái đầu tiên đại diện cho khóa và cái thứ hai đại diện cho giá trị

Độ dài từ điển¶

Chúng ta có thể biết số phần tử [«key-value»] mà một từ điển có với hàm

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
44

>>> # Diccionario a partir de una lista de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una tupla de cadenas de texto
>>> dict[['a1', 'b2']]
{'a': '1', 'b': '2'}

>>> # Diccionario a partir de una lista de listas
>>> dict[[['a', 1], ['b', 2]]]
{'a': 1, 'b': 2}
9

Lặp lại từ điển¶

Dựa trên các phần tử mà chúng ta có thể truy cập , Python cung cấp cho chúng ta ba cách để lặp lại một từ điển.

Lặp lại các phím

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
10

Lặp lại các giá trị

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
11

Lặp lại "khóa-giá trị"

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
12

Ghi chú

Trong trường hợp sau, hãy nhớ sử dụng “f-strings” để định dạng chuỗi văn bản.

Tập thể dục

Đưa ra từ điển về các thành phố và dân số đã thấy và giả sử rằng các thành phố này là những thành phố duy nhất tồn tại trên hành tinh, hãy tính tỷ lệ phần trăm dân số tương đối của từng thành phố so với tổng dân số

Thí dụ

  • Lối vào.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    .3.4

  • Sự khởi hành.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    46

Dung dịch.

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
47

Kết hợp từ điển¶

Đưa ra hai [hoặc nhiều] từ điển, có thể "xáo trộn" chúng để có được sự kết hợp của chúng. Sự kết hợp này dựa trên hai tiền đề

  1. Nếu khóa không tồn tại, nó sẽ được thêm vào với giá trị của nó

  2. Nếu khóa đã tồn tại, nó sẽ được thêm vào với giá trị của từ điển "cuối cùng" trong hỗn hợp. 6

Python cung cấp hai cơ chế để thực hiện sự kết hợp này. Hãy bắt đầu từ những từ điển sau đây để làm gương cho việc sử dụng nó

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
13

Không sửa đổi từ điển gốc

Thông qua nhà điều hành

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
48

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
14

Kể từ Python 3. 9 chúng ta có thể sử dụng toán tử

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
49 để kết hợp hai từ điển

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
15

Sửa đổi từ điển gốc

Sử dụng chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
80

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
16

Ghi chú

Hãy tính đến thứ tự mà chúng tôi chỉ định từ điển tại thời điểm kết hợp [kết hợp] của chúng có liên quan trong kết quả cuối cùng. Trong trường hợp này, thứ tự của các yếu tố làm thay đổi sản phẩm.

Xóa phần tử¶

Python cung cấp cho chúng ta ít nhất ba cách để xóa các mục trong từ điển.

bằng chìa khóa của bạn

Thông qua phán quyết

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
81

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
17

Bằng khóa của bạn [có trích xuất]

Sử dụng hàm

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
82, chúng ta có thể trích xuất một phần tử từ từ điển bằng khóa của nó. Nó sẽ là sự kết hợp của
>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
66 +
>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
81

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
18

báo trước

Nếu khóa chúng tôi dự định trích xuất bằng _

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
82 không tồn tại, chúng tôi sẽ gặp lỗi

Hoàn thành xóa từ điển
  1. Sử dụng chức năng

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    86

    >>> person = dict[
    ..     name='Guido van Rossum',
    ..     date of birth='31/01/1956'
      File "", line 3
        date of birth='31/01/1956'
              ^
    SyntaxError: invalid syntax
    
    19

  2. "Đặt lại" từ điển thành trống với

    >>> person = dict[
    ..     name='Guido',
    ..     surname='Van Rossum',
    ..     job='Python creator'
    .. ]
    
    >>> person
    {'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
    
    9

    >>> person = dict[
    ..     name='Guido',
    ..     surname='Van Rossum',
    ..     job='Python creator'
    .. ]
    
    >>> person
    {'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
    
    0

Ghi chú

Sự khác biệt giữa hai phương pháp liên quan đến các vấn đề về hiệu suất và quản lý bộ nhớ trong.

Cảnh giác với các bản sao¶

Trình độ trung cấp

Giống như với danh sách , nếu chúng tôi thực hiện thay đổi đối với từ điển, thay đổi đó sẽ được phản ánh trong tất cả các biến tham chiếu đến từ điển đó. Điều này bắt nguồn từ tài sản của nó là có thể thay đổi. Hãy xem một ví dụ cụ thể.

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
1

Một giải pháp khả thi cho vấn đề này là tạo một "bản cứng". Đối với Python này cung cấp chức năng

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
88

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
2

Bí quyết, Thuật, mẹo

Trong trường hợp chúng tôi đang làm việc với các từ điển có chứa các thành phần có thể thay đổi, chúng tôi phải sử dụng hàm

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
89 trong mô-đun
>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
90 của thư viện tiêu chuẩn

Từ điển theo cách hiểu¶

Trình độ trung cấp

Tương tự như cách cách hiểu danh sách được viết , chúng ta có thể áp dụng phương pháp này cho từ điển sử dụng dấu ngoặc nhọn

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
91
>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
92.

Hãy xem một ví dụ trong đó chúng tôi tạo một từ điển bằng cách hiểu trong đó các khóa là các từ và các giá trị là độ dài của chúng.

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
3

Chúng ta cũng có thể áp dụng điều kiện cho những cách hiểu này. Tiếp tục với ví dụ trước, chúng ta có thể kết hợp hạn chế chỉ bao gồm các từ không bắt đầu bằng nguyên âm

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
4

Ghi chú

Bạn có thể tham khảo PEP-274 để xem thêm các ví dụ về từ điển đọc hiểu

Tập thể dục

Chúng tôi có điểm thi được lưu trong từ điển. Cần tách học sinh đỗ và học sinh trượt thành hai cuốn từ điển. Tương tự như vậy, tên của nhóm sinh viên đã vượt qua phải được viết hoa và tên của nhóm sinh viên không đạt phải viết thường. Viết chương trình Python thực hiện thao tác này bằng từ điển bằng cách hiểu.

Thí dụ

  • Lối vào.

    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    93

  • Sự khởi hành

    >>> person = dict[
    ..     name='Guido',
    ..     surname='Van Rossum',
    ..     job='Python creator'
    .. ]
    
    >>> person
    {'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
    
    5

Dung dịch.

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
94

Đối tượng có thể băm¶

Trình độ cao

Hạn chế duy nhất mà các khóa của từ điển phải đáp ứng là "có thể băm" 7. Một đối tượng có thể băm được nếu nó có thể được gán một giá trị băm không thay đổi trong quá trình thực thi trong suốt thời gian tồn tại của nó.

Để tìm hàm băm của một đối tượng, Python sử dụng hàm

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
95, trả về một số nguyên và được sử dụng để lập chỉ mục bảng băm được duy trì nội bộ.

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
6

Đối với một đối tượng có thể băm được, nó phải là bất biến.

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
7

Ghi chú

Từ những điều trên, có thể suy ra rằng các khóa của từ điển, vì chúng phải là "có thể băm", chỉ có thể là các đối tượng bất biến.

Hàm tích hợp sẵn

>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
95 thực sự thực hiện cuộc gọi đến phương thức ma thuật
>>> empty_dict = {}

>>> rae = {
..     'bifronte': 'De dos frentes o dos caras',
..     'anarcoide': 'Que tiende al desorden',
..     'montuvio': 'Campesino de la costa'
.. }

>>> population_can = {
..     2015: 2_135_209,
..     2016: 2_154_924,
..     2017: 2_177_048,
..     2018: 2_206_901,
..     2019: 2_220_270
.. }
97 của đối tượng được đề cập

>>> person = dict[
..     name='Guido',
..     surname='Van Rossum',
..     job='Python creator'
.. ]

>>> person
{'name': 'Guido', 'surname': 'Van Rossum', 'job': 'Python creator'}
8

LUYỆN TẬP

  1. Viết chương trình Python chấp nhận danh sách các từ và nhóm chúng theo chữ cái đầu tiên bằng từ điển [
    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    98]
    • Lối vào.

      >>> empty_dict = {}
      
      >>> rae = {
      ..     'bifronte': 'De dos frentes o dos caras',
      ..     'anarcoide': 'Que tiende al desorden',
      ..     'montuvio': 'Campesino de la costa'
      .. }
      
      >>> population_can = {
      ..     2015: 2_135_209,
      ..     2016: 2_154_924,
      ..     2017: 2_177_048,
      ..     2018: 2_206_901,
      ..     2019: 2_220_270
      .. }
      
      99

    • Sự khởi hành.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      00

  2. Viết chương trình Python chấp nhận từ điển và xác định xem tất cả các giá trị có bằng nhau hay không [
    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    98]
    • Lối vào.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      02

    • Sự khởi hành.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      03

  3. Viết chương trình python chấp nhận danh sách gồm các danh sách có nhiều phần tử và trả về một từ điển trong đó các khóa sẽ là phần tử đầu tiên của danh sách con và các giá trị sẽ là phần còn lại - dưới dạng danh sách - [
    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    98]
    • Lối vào.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      05

    • Sự khởi hành.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      06

  4. Viết chương trình Python nhận một từ điển có giá trị là các danh sách và xóa nội dung của các danh sách đó [
    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    98]
    • Lối vào.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      08

    • Sự khởi hành.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      09

  5. Viết chương trình Python chấp nhận từ điển và loại bỏ khoảng trắng khỏi các khóa của nó trong khi tôn trọng các giá trị tương ứng [
    >>> empty_dict = {}
    
    >>> rae = {
    ..     'bifronte': 'De dos frentes o dos caras',
    ..     'anarcoide': 'Que tiende al desorden',
    ..     'montuvio': 'Campesino de la costa'
    .. }
    
    >>> population_can = {
    ..     2015: 2_135_209,
    ..     2016: 2_154_924,
    ..     2017: 2_177_048,
    ..     2018: 2_206_901,
    ..     2019: 2_220_270
    .. }
    
    98]
    • Lối vào.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      11

    • Sự khởi hành.

      >>> # Diccionario a partir de una lista de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una tupla de cadenas de texto
      >>> dict[['a1', 'b2']]
      {'a': '1', 'b': '2'}
      
      >>> # Diccionario a partir de una lista de listas
      >>> dict[[['a', 1], ['b', 2]]]
      {'a': 1, 'b': 2}
      
      12

BÀI TẬP BÊN NGOÀI

  1. bài tập từ điển. người đặt hàng

MỞ RỘNG KIẾN THỨC

  • Sử dụng Loại mặc định của Python để xử lý các khóa bị thiếu

  • Lặp lại từ điển Python. Mẹo & thủ thuật nâng cao

  • Các ngoại lệ của Python KeyError và cách xử lý chúng

  • Từ điển trong Python

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

  • Sao chép nông và sâu các đối tượng Python

1

Ảnh bìa gốc của Aaron Burden trên Bapt

2

Mặc dù trước đây Python không yêu cầu các khóa từ điển để duy trì thứ tự chèn của chúng, kể từ Python 3. 7 hành vi này đã được thay đổi và thứ tự chèn của các phím được đảm bảo như một phần chính thức của đặc tả ngôn ngữ

3

Xem phân tích về độ phức tạp và hiệu suất của các cấu trúc dữ liệu khác nhau trong CPython

4

>>> person = dict[
..     name='Guido van Rossum',
..     date of birth='31/01/1956'
  File "", line 3
    date of birth='31/01/1956'
          ^
SyntaxError: invalid syntax
68 là từ khóa Python cho "không có gì". Thêm thông tin trên trang web này

5

Chúng tôi thực sự không nhìn thấy gì trong bảng điều khiển python vì biểu diễn chuỗi trống

6

Trong trường hợp này, "cuối cùng" dùng để chỉ từ điển xa nhất về bên phải trong biểu thức

Từ điển là gì và đặc điểm của nó là gì?

The từ điển là một công việc mà bạn có thể tham khảo các từ hoặc thuật ngữ và cung cấp ý nghĩa, định nghĩa, từ nguyên, cách đánh vần, cách phát âm cố định, gạch nối của chúng và hình thức ngữ pháp. Thông tin nó cung cấp khác nhau tùy thuộc vào loại từ điển được đề cập.

Từ điển trong lập trình là gì?

A dictionary là kiểu dữ liệu dùng để liên kết các cặp đối tượng. từ điển có thể được xem như một tập hợp các khóa, mỗi khóa có một giá trị liên quan. Các khóa không được sắp xếp theo thứ tự và không có khóa trùng lặp. Cách duy nhất để truy cập một giá trị là thông qua khóa của nó.

Điều gì khiến từ điển khác với danh sách trong Python?

Danh sách lista là tập hợp các cặp giá trị chỉ mục giống như mảng trong C++. từ điển là cấu trúc băm của các cặp khóa và giá trị. Các chỉ số của danh sách là các số nguyên bắt đầu từ 0. Các khóa của từ điển có thể thuộc bất kỳ loại dữ liệu nào.

Chủ Đề