HomeLập trìnhPythonTừ điển Python...

Từ điển Python – Cách thực hiện các thao tác CRUD trên dicts trong Python


Một trong những kiểu dữ liệu tổng hợp quan trọng nhất trong Python là từ điển. Đó là một bộ sưu tập bạn sử dụng để lưu trữ dữ liệu trong {key:value} cặp.

Từ điển được sắp xếp theo thứ tự và có thể thay đổi, đồng thời chúng không thể lưu trữ dữ liệu trùng lặp. Chỉ cần lưu ý rằng trước Python 3.6, từ điển không có thứ tự.

Được rồi, hãy đi sâu vào và tìm hiểu thêm về cách chúng hoạt động.

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

Như chúng ta đã biết, một từ điển bao gồm một tập hợp các {key:value} cặp. Một dấu hai chấm (:) tách từng khóa khỏi giá trị được liên kết của nó.

Chúng ta có thể định nghĩa một từ điển bằng cách đặt một danh sách các cặp khóa-giá trị được phân tách bằng dấu phẩy trong dấu ngoặc nhọn ({}).

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

Trong ví dụ trên, Name, RollSubjects là chìa khóa của từ điển my_dict. Ashutosh Krishna, 23["OS", "CN", "DBMS"] là các giá trị tương ứng của chúng.

Chúng tôi cũng có thể khai báo một từ điển bằng cách sử dụng tích hợp sẵn dict() chức năng như thế này:

my_dict = dict({
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
})

Một danh sách các bộ dữ liệu hoạt động tốt cho việc này:

my_dict = dict([
    ("Name", "Ashutosh Krishna"), 
    ("Roll", 23),
    ("Subjects", ["OS", "CN", "DBMS"])
])

Chúng cũng có thể được chỉ định làm đối số từ khóa.

my_dict = dict(
    Name="Ashutosh Krishna", 
    Roll=23, 
    Subjects=["OS", "CN", "DBMS"]
)

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

Bạn không thể truy cập các giá trị từ điển bằng chỉ mục.

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

print(my_dict[1])

Nếu bạn cố gắng làm điều này, nó sẽ ném một Lỗi chính như thế này:

Traceback (most recent call last):
  File "C:\Users\ashut\Desktop\Test\hello\test.py", line 7, in <module>
    print(my_dict[1])
KeyError: 1

Lưu ý rằng ngoại lệ được gọi là KeyError. Điều đó có nghĩa là các giá trị từ điển có thể được truy cập bằng các phím không? Vâng, bạn đã hiểu đúng!

Đọc thêm  Cách bắt đầu với TinyDB bằng Python

Bạn có thể lấy một giá trị từ từ điển bằng cách chỉ định khóa tương ứng của nó trong dấu ngoặc vuông ([]).

>>> my_dict['Name']          
'Ashutosh Krishna'
>>> my_dict['Subjects'] 
['OS', 'CN', 'DBMS']

Nếu một khóa không tồn tại trong từ điển, chúng ta sẽ nhận được một ngoại lệ KeyError như chúng ta đã thấy ở trên.

>>> my_dict['College']  
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'College'

Nhưng chúng ta cũng có thể tránh lỗi này bằng cách sử dụng get() chức năng.

>>> my_dict.get('College')
>>> 

Nếu khóa tồn tại trong từ điển, nó sẽ lấy giá trị tương ứng. Nhưng nếu nó không tồn tại, nó sẽ không báo lỗi.

Cách cập nhật từ điển trong Python

Từ điển có thể thay đổi, có nghĩa là chúng có thể được sửa đổi. Chúng ta có thể thêm một cái mới {key:value} ghép nối hoặc sửa đổi những cái hiện có.

Việc thêm một mục mới vào từ điển khá dễ dàng bằng cách sử dụng toán tử gán, như sau:

>>> my_dict['College'] = 'NSEC'
>>> my_dict                    
{'Name': 'Ashutosh Krishna', 'Roll': 23, 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC'}

Nếu khóa đã có trong từ điển, nó sẽ cập nhật giá trị của khóa đó.

>>> my_dict['Roll'] = 35
>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 35, 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC'}

Cách cập nhật một dict bằng phương thức update()

Chúng tôi cũng có thể cập nhật từ điển bằng cách sử dụng tích hợp sẵn update() phương pháp như thế này:

>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 35, 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC'}
>>> another_dict = {'Branch': 'IT'}
>>> my_dict.update(another_dict)
>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 35, 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC', 'Branch': 'IT'}
>>>

Các update() phương thức lấy một từ điển hoặc một đối tượng có thể lặp lại của các cặp khóa/giá trị (thường là các bộ dữ liệu).

>>> my_dict.update(Branch="CSE") 
>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 35, 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC', 'Branch': 'CSE'}

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

Có một số cách để xóa các phần tử khỏi từ điển Python.

Làm cách nào để xóa các phần tử khỏi lệnh chính tả bằng pop() phương pháp

Chúng tôi có thể xóa một mục cụ thể trong từ điển bằng cách sử dụng pop() phương pháp. Phương pháp này loại bỏ một mục với cung cấp key và trả về value.

>>> roll = my_dict.pop('Roll') 
>>> roll
35
>>> my_dict
{'Name': 'Ashutosh Krishna', 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC', 'Branch': 'CSE'}

Cách xóa một mục khỏi lệnh với popitem() phương pháp

Các popitem() loại bỏ cặp khóa-giá trị cuối cùng và trả về nó dưới dạng một bộ:

>>> my_dict.popitem()
('Branch', 'CSE')
>>> my_dict
{'Name': 'Ashutosh Krishna', 'Subjects': ['OS', 'CN', 'DBMS'], 'College': 'NSEC'}

Cách xóa một mục khỏi lệnh với del từ khóa

Bạn có thể dùng del từ khóa để xóa một cụ thể {key:value} cặp hoặc thậm chí toàn bộ từ điển.

>>> del my_dict['Subjects'] 
>>> my_dict
{'Name': 'Ashutosh Krishna', 'College': 'NSEC'}
>>> del my_dict
>>> my_dict
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'my_dict' is not defined

Cách xóa một mục khỏi lệnh với clear() phương pháp

Các clear phương pháp xóa tất cả các {key:value} cặp trong từ điển.

>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 23, 'Subjects': ['OS', 'CN', 'DBMS']}
>>> my_dict.clear()
>>> my_dict
{}

Chú ý rằng sau khi clear() phương thức được gọi, việc in từ điển không gây ra lỗi vì clear() phương pháp không loại bỏ từ điển. Nhưng del từ khóa cũng loại bỏ từ điển. Đó là lý do tại sao chúng tôi nhận được NameError trong trường hợp đó.

Đọc thêm  Cách viết bài kiểm tra đơn vị cho các hàm Python

Toán tử từ điển và hàm tích hợp

Hãy nói về hai toán tử quan trọng và các hàm tích hợp sẵn mà chúng ta có thể sử dụng với từ điển.

len() chức năng

Các len() hàm trả về số cặp khóa-giá trị trong từ điển:

>>> my_dict
{'Name': 'Ashutosh Krishna', 'Roll': 23, 'Subjects': ['OS', 'CN', 'DBMS']}
>>> len(my_dict)
3

sorted() chức năng

Các sorted() hàm sắp xếp các phần tử của một lần lặp đã cho theo một thứ tự cụ thể (tăng dần hoặc giảm dần) và trả về nó dưới dạng một danh sách.

>>> sorted(my_dict)
['Name', 'Roll', 'Subjects']

in nhà điều hành

Bạn có thể dùng in toán tử để kiểm tra xem một khóa có trong từ điển hay không.

>>> 'Roll' in my_dict
True
>>> 'College' in my_dict
False

Phương pháp từ điển tích hợp

Có nhiều phương thức tích hợp khác nhau có sẵn trong từ điển Python. Chúng tôi đã thảo luận một vài trong số họ trước đó chẳng hạn như clear(), pop() ,và popitem(). Hãy xem một số phương pháp khác nữa.

Phương pháp Sự miêu tả
xa lạ() Xóa tất cả các mục khỏi từ điển.
sao chép() Trả về một bản sao nông của từ điển.
fromkeys(seq[, v]) Trả về một từ điển mới với các khóa từ tiếp theo và giá trị bằng v (mặc định là None).
lấy (chìa khóa[,d]) Trả về giá trị của Chìa khóa. Nếu Chìa khóa không tồn tại, trả về đ (mặc định là None).
mặt hàng() Trả về một đối tượng mới của các mục trong từ điển ở định dạng (khóa, giá trị).
phím() Trả về một đối tượng mới của các khóa từ điển.
bật (phím[,d]) Loại bỏ các mục với Chìa khóa và trả về giá trị của nó hoặc đ nếu Chìa khóa không được tìm thấy. Nếu đ không được cung cấp và Chìa khóa không được tìm thấy, nó tăng lên KeyError.
popitem() Loại bỏ và trả lại một mục tùy ý (giá trị cốt lõi). tăng KeyError nếu từ điển trống.
setdefault (phím[,d]) Trả về giá trị tương ứng nếu Chìa khóa có trong từ điển. Nếu không, hãy chèn Chìa khóa với một giá trị của đ và trả về đ (mặc định là None).
cập nhật([other]) Cập nhật từ điển với các cặp khóa/giá trị từ khácghi đè lên các khóa hiện có.
giá trị() Trả về một đối tượng mới của các giá trị của từ điển
Đọc thêm  Học Python bằng cách xây dựng 5 trò chơi

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

Theo mặc định, khi chúng ta sử dụng vòng lặp for để lặp qua từ điển, chúng ta sẽ nhận được các khóa:

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

for item in my_dict:
    print(item)

Đầu ra:

Name
Roll
Subjects

Chúng tôi cũng có thể lặp lại từ điển theo các cách sau:

Làm thế nào để lặp qua một từ điển bằng cách sử dụng items() phương pháp

Khi chúng ta sử dụng items() để lặp qua một từ điển, nó trả về một bộ khóa và giá trị trong mỗi lần lặp. Do đó, chúng ta có thể trực tiếp lấy khóa và giá trị trong trường hợp này:

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

for key, value in my_dict.items():
    print(key, value)

Đầu ra:

Name Ashutosh Krishna
Roll 23
Subjects ['OS', 'CN', 'DBMS']

Cách lặp qua từ điển bằng cách sử dụng keys()

Trong trường hợp này, chúng tôi nhận được khóa trong mỗi lần lặp.

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

for key in my_dict.keys():
    print(key)

Đầu ra:

Name
Roll
Subjects

Cách lặp qua từ điển bằng cách sử dụng values()

Trong trường hợp này, chúng tôi nhận trực tiếp các giá trị của từ điển.

my_dict = {
    "Name": "Ashutosh Krishna",
    "Roll": 23,
    "Subjects": ["OS", "CN", "DBMS"]
}

for value in my_dict.values():
    print(value)

Đầu ra:

Ashutosh Krishna
23
['OS', 'CN', 'DBMS']

Cách hợp nhất từ ​​điển trong Python

Chúng ta thường cần hợp nhất các từ điển trong Python. Tôi đã viết một bài báo riêng về chủ đề này, mà bạn có thể đọc ở đây.

kết thúc

Trong bài viết này, chúng ta đã tìm hiểu từ điển Python là gì và cách thực hiện các thao tác CRUD trên chúng. Chúng tôi cũng đã thấy một số phương thức và chức năng liên quan đến chúng.

Tôi hy vọng bạn thích nó – và cảm ơn vì đã đọc!

Đăng ký nhận bản tin của tôi



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status