Hàm Dictionary get() trong Python trả về giá trị của key đã cho. Nếu key không tồn tại thì trả về None, hoặc trả về giá trị default do người dùng định nghĩa.
Cú phápCú pháp của get() trong Python: dict.get(key, default=None)
Tham số:
Ví dụ sau minh họa cách sử dụng của get() trong Python. dict1 = {'name': 'Viet', 'age': 22, 'address': 'Hanoi'}
print ("Gia tri cua key 'name' la: ", dict1.get('name'))
print ("Gia tri cua key 'gender' la: ", dict1.get('gender'))
print ("Gia tri cua key 'salary' la: ", dict1.get('salary', 'NaN'))
Chạy chương trình Python trên sẽ cho kết quả: Gia tri cua key 'name' la: Viet
Gia tri cua key 'gender' la: None
Gia tri cua key 'salary' la: NaN
Phương thức get() dùng để lấy một phần tử trong dictionary dựa vào tên key mà ta truyền vào. Get() có hai tham số và ta sẽ lần lượt tìm hiểu ở các phần dưới đây. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Cú pháp
dictionary get()Cú pháp như sau: Trong đó: - key là khóa của phần tử cần lấy
- value là giá trị sẽ trả về nếu không tìm thấy phần tử
key trong dict . Nếu ta không truyền vào tham số này thì nó sẽ có giá trị là None .
Giá trị trả về: Bài viết này được đăng tại [free tuts .net] - Trả về giá trị của phần tử
key truyền vào nếu tìm thấy - Trả về
None nếu không tìm thấy và value không được truyền hàm - Trả về
value nếu không tìm tháy và value được truyền vào hàm
2. Ví dụ sử dụng dictionary get()Để hiểu rõ hơn phương thức get() này thì ta sẽ làm một vài ví dụ như sau: Ví dụ 1: Lấy tên và mức lương của nhân viên person = {'name': 'Phill', 'age': 22}
print('Name: ', person.get('name'))
print('Age: ', person.get('age'))
# Trường hợp khong cung cấp value
print('Salary: ', person.get('salary'))
# Trường hợp có cung cấp value
print('Salary: ', person.get('salary', 0.0)) Kết quả như sau: Name: Phill
Age: 22
Salary: None
Salary: 0.0 Ví dụ 2: Sử dụng cặp ngoặc vuông [] để thay thế cho phương thức get() person = {'name': 'Phill', 'age': 22}
print('Name: ', person.get('name'))
print(person['name']) Kết quả: Câu hỏi đặt ra là trong hai cách
dùng dấu ngoặc vuông và phương thức get() thì nên dùng cách nào? Để trả lời thì bạn phải xem nhận xét dưới đây. Khi bạn lấy một phần tử nào đó mà không tồn tại thì nếu: - Bạn sử dụng
[] thì sẽ trả về lỗi - Bạn sử dụng
get() thì sẽ không trả về lỗi, và bạn có thể sử dụng tham số thứ hai để thiết lập giá trị mặc định trả về nếu phần tử không tồn tại.
Trên là những chia sẻ về cách sử dụng dictionary get() trong Python, hy vọng bài viết hữu
ích với bạn. Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng
Anh, Nga, Đức, Pháp, Việt, Trung, Hàn,
Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook 1- Python Dictionary Trong Python, dictionary (bộ từ điển)
là một kiểu dữ liệu, nó là một danh sách các phần tử (element), mà mỗi phần tử là một cặp khóa và giá trị (Key & value), nó khá giống với khái niệm Map trong Java. Các dictionary đều là là đối tượng của lớp dict. Để viết một dictionary sử dụng cặp dấu móc { } , và viết các phần tử bên trong, các phần tử phân cách nhau bởi đấu phẩy. Mỗi phần tử là một cặp khóa và giá trị ngăn cách nhau bởi dấu hai chấm ( : ) Ví dụ:
# Dictionary
myinfo = {"Name": "Tran", "Age": 37, "Address" : "Vietnam" }
Bạn cũng có thể tạo một đối tượng dictionary từ phương thức khởi tạo (constructor) của lớp dict. createDictionaryFromClass.py
# Tạo một dictionary thông qua constructor của lớp dict.
mydict = dict()
mydict["E01"] = "John"
mydict["E02"] = "King"
print ("mydict: ", mydict)
Output:
mydict: {'E01': 'John', 'E02': 'King'}
Đặc điểm của giá trị (value) trong dictionary: - Mỗi phần tử (element) của dictionary là một cặp (khóa và giá trị), giá trị có thể là một kiểu bất kỳ (string, số, các kiểu người dùng tự định nghĩa,....), và cho phép trùng lặp.
Đặc điểm của khóa (key) trong dictionary. - Khóa trong dictionary phải là kiểu bất biến (immutable). Như vậy nó có thể là string, số, Tuple, ....
- Một số kiểu
không được phép, chẳng hạn List (Danh sách), vì List là kiểu dữ liệu biến đổi (mutable).
- Các khóa trong dictionary không được phép trùng lặp.
Ví dụ: dictionaryExample.py
# Dictionary
myinfo = {"Name": "Tran", "Age": 37, "Address" : "Vietnam" }
print ("myinfo['Name'] = ", myinfo["Name"])
print ("myinfo['Age'] = ", myinfo["Age"])
print ("myinfo['Address'] = ", myinfo["Address"])
Output:
myinfo['Name'] = Tran
myinfo['Age'] = 37
myinfo['Address'] = Vietnam
2- Cập nhập Dictionary Dictionary cho phép cập nhập giá trị ứng với một khóa nào đó, nó thêm mới một phần tử nếu khóa đó không tồn tại trên dictionary.
updateDictionaryExample.py
# Dictionary
myinfo = {"Name": "Tran", "Age": 37, "Address" : "Vietnam" }
# Cập nhập giá trị cho khóa (key) 'Address'
myinfo["Address"] = "HCM Vietnam"
# Thêm một phần tử mới với khóa (key) là 'Phone'.
myinfo["Phone"] = "12345"
print ("Element count: ", len(myinfo) )
print ("myinfo['Name'] = ", myinfo["Name"])
print ("myinfo['Age'] = ", myinfo["Age"])
print ("myinfo['Address'] = ", myinfo["Address"])
print ("myinfo['Phone'] = ", myinfo["Phone"])
Output:
Element count: 4
myinfo['Name'] = Tran
myinfo['Age'] = 37
myinfo['Address'] = HCM Vietnam
myinfo['Phone'] = 12345
3- Xóa dictionary Có 2 cách để loại bỏ một phần tử ra khỏi một dictionary. - Sử dụng toán tử del
- Sử dụng phương thức __delitem__(key)
deleteDictionaryExample.py
# (Key,Value) = (Tên, Số điện thoại)
contacts = {"John": "01217000111", \
"Tom": "01234000111", \
"Addison":"01217000222", "Jack":"01227000123"}
print ("Contacts: ", contacts)
print ("\n")
print ("Delete key = 'John' ")
# Xóa một phần tử ứng với khóa 'John'
del contacts["John"]
print ("Contacts (After delete): ", contacts)
print ("\n")
print ("Delete key = 'Tom' ")
# Xóa một phần tử ứng với khóa 'Tom'
contacts.__delitem__( "Tom")
print ("Contacts (After delete): ", contacts)
print ("Clear all element")
# Xóa toàn bộ các phần tử.
contacts.clear()
print ("Contacts (After clear): ", contacts)
# Xóa luôn dictionary 'contacts' khỏi bộ nhớ
del contacts
# Lỗi xẩy ra khi truy cập vào biến không tồn tại trên bộ nhớ
print ("Contacts (After delete): ", contacts)
4- Các hàm với với Dictionary
Hàm | Mô tả |
---|
len(dict)
| Trả về số phần tử của dict.
| str(dict)
| Hàm chuyển đổi ra một string biểu diễn dictionary.
| type(variable)
| Trả về kiểu của biến được truyền vào. Nếu biến truyền vào là một dictionary, thì nó sẽ trả về đối tượng đại diện lớp 'dict'.
| dir(clazzOrObject)
| Trả về danh sách các thành viên của lớp (hoặc đối tượng) được truyền vào. Nếu truyền vào là lớp dict, nó sẽ trả về danh sách các thành viên của lớp dict.
|
functionDictionaryExample.py
contacts = {"John": "01217000111" ,"Addison": "01217000222","Jack": "01227000123"}
print ("contacts: ", contacts)
print ("Element count: ", len(contacts) )
contactsAsString = str(contacts)
print ("str(contacts): ", contactsAsString )
# Một đối tượng đại diện lớp 'dict'.
aType = type(contacts)
print ("type(contacts): ", aType )
# Hàm dir(dict) trả về các thành viên của lớp 'dict'.
print ("dir(dict): ", dir(dict) )
# ------------------------------------------------------------------------------------
# ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',
# '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
# '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',
# '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
# '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear',
# 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem',
# 'setdefault', 'update', 'values']
# -------------------------------------------------------------------------------------
5- Các phương thức Có thể bạn quan tâm Đây là các khóa học trực tuyến bên ngoài website o7planning mà chúng tôi giới thiệu, nó có thể bao gồm các khóa học miễn phí hoặc
giảm giá. |