Python dainganxanh
  • Lời nói đầu
  • Chương I. SƠ LƯỢC
    • Bài 1. Cài đặt môi trường
    • Bài 2. Từ khóa và định danh
    • Bài 3. Câu lệnh, khối lệnh và chú thích
    • Bài 4. Nhập, xuất dữ liệu
    • Bài 5. Toán tử và lệnh gán
    • Bài 6. Biến, Hằng
    • Bài 7. Kiểu dữ liệu
    • Bài 8. Thao tác với tệp (cơ bản)
    • Bài 9. Tổng quan về Python
    • Bài tập chương 1
  • Chương II. RẼ NHÁNH - LẶP
    • Bài 10. Cấu trúc rẽ nhánh if…else
    • Bài 11. Cấu trúc lặp với for
    • Bài 12. Cấu trúc lặp với while
    • Bài 13. Lệnh break và continue
    • Bài tập chương 2
  • Chương III. HÀM & MODULE
    • Bài 14. Hàm
    • Bài 15. Tham số hàm
    • Bài 16. Đệ quy
    • Bài 17. Hàm ẩn danh
    • Bài 18. Biến toàn cục và cục bộ
    • Bài 19. Module
    • Bài 20. Package
  • Chương IV. KIỂU DỮ LIỆU
    • Bài 21. Dữ liệu kiểu số
    • Bài 22. Dữ liệu kiểu string
    • Bài 23. Dữ liệu kiểu list
    • Bài 24. Dữ liệu kiểu tuple
    • Bài 25. Dữ liệu kiểu set
    • Bài 26. Dữ liệu kiểu dictionary
  • Chương V. TỆP & THƯ MỤC
    • Bài 27. Đọc và ghi file
    • Bài 28. Quản lý file và folder
  • Chương VI. LỖI & NGOẠI LỆ
    • Bài 29. Ngoại lệ
    • Bài 30. Xử lý ngoại lệ
    • Bài 31. Xây dựng ngoại lệ
  • Chương VII. HƯỚNG ĐỐI TƯỢNG
    • Bài 32. Lập trình hướng đối tượng
    • Bài 33. Đối tượng và Lớp
    • Bài 34. Kế thừa
    • Bài 35. Đa kế thừa
    • Bài 36. Nạp chồng toán tử
  • Chương VIII. NGÀY - GIỜ
    • Python datetime
    • Python strftime()
    • Python strptime()
    • Current date and time
    • Get Current time
    • Timestamp to datetime
    • Python time Module
    • Python sleep()
  • Chương IX. CHỦ ĐỀ NÂNG CAO
    • Python Iterators
    • Python Generators
    • Python Closures
    • Python Decorators
    • Python @property decorator
    • Python RegEx
    • Python Examples
  • PHỤ LỤC - GHI CHÉP
    • Hàm map()
    • Cài Sublime Text để code Python
    • Ghi chép - ghi chú
    • Mảng 2 chiều
    • Công thức với dãy số
  • Tài liệu tham khảo
  • www.dainganxanh.com
  • 🐍Khóa học Python
  • 🤷‍♀️Hỏi đáp, chia sẻ (FG)
  • 🎮Sinh Test chấm Themis
Powered by GitBook
On this page
  • Khởi tạo dict
  • Truy cập phần tử dict
  • Thêm, sửa, xóa phần tử dict
  • Thêm, sửa
  • Xóa
  • Các phương thức với dict
  • Dictionary Comprehension
  • Hàm dựng sẵn cho dict
  • Thao tác khác
  • Kiểm tra key chứa trong dict
  • Lặp theo phần tử dict

Was this helpful?

  1. Chương IV. KIỂU DỮ LIỆU

Bài 26. Dữ liệu kiểu dictionary

Kiểu từ điển (dict) trong Python là một tập hợp các phần tử không có thứ tự. Mỗi phần tử của dict có một cặp khóa : giá trị (key : value).

Dict được khai báo nằm trong cặp ngoặc nhọn giống như set {}. Việc truy xuất giá trị phần tử sẽ được thực hiện thông qua khóa (key).

Khởi tạo dict

d = {}

d = {1: 'apple', 2: 'ball'}

d = {'name': 'John', 1: [2, 4, 3]}

d = dict({1:'apple', 2:'ball'})

d = dict([(1,'apple'), (2,'ball')])

Truy cập phần tử dict

Truy cập phần tử dict thông qua key trong cặp ngoặc vuông [] hoặc sử dụng phương thức get().

Ví dụ:

d = {'name': 'Jack', 'age': 26}

print(d['name']) # Jack

print(d.get('age')) # 26

print(d.get('address')) # None (truy cập phần tử không tồn tại)

print(d['address']) # Báo lỗi KeyError

Thêm, sửa, xóa phần tử dict

Thêm, sửa

d = {'name': 'Jack', 'age': 26}

d['age'] = 27        # gán giá trị cho phần tử có khóa là age

print(d)             # {'age': 27, 'name': 'Jack'}

d['dc'] = 'Downtown' # thêm phần tử mới cho dict

print(d)             # {'dc': 'Downtown', 'age': 27, 'name': 'Jack'}

Xóa

# tạo dict
dbp = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# xóa phần tử theo key, trả về giá trị tương ứng
print(dbp.pop(4))     # 16
print(dbp)            # {1: 1, 2: 4, 3: 9, 5: 25}

# xóa phần tử cuối, trả về cặp (key,value)
print(dbp.popitem())   # (5, 25)
print(dbp)             # {1: 1, 2: 4, 3: 9}

dbp.clear()            # Xóa hết phần tử
print(dbp)             # {}

del dbp                # xóa biến 

Các phương thức với dict

Method

Chú thích

Xóa hết các phần tử

Trả về bản sao của dict

Gán v làm giá trị mặc định cho các key khi khởi tạo dict. (v mặc định = None).

Trả về giá trị của key. Nếu key không tồn tại thì trả về d (mặc định là None).

Trả về cặp (key, value)

Trả về danh sách các key của dict.

Xóa phần tử theo key và trả về giá trị phần tử đó (value) Hoặc trả về d nếu key cần xóa không tồn tại (nếu bỏ trống d thì sẽ báo lỗi KeyError).

Xóa và trả về cặp (key, value). Lỗi KeyError nếu dict rỗng.

Trả về giá trị tương ứng nếu key có trong dict. Nếu không sẽ chèn key với giá trị d và trả về d (mặc định là None).

Cập nhật từ điển với các cặp key/value từ các cặp key/value khác, ghi đè các key hiện có.

Trả về danh sách các value của dict.

diem = {}.fromkeys(['Toán', 'Văn', 'Anh'], 0)

print(diem)         # {'Toán': 0, 'Văn': 0, 'Anh': 0}

for item in diem.items():
    print(item)
                    ''' 
                    ('Toán', 0)
                    ('Văn', 0)
                    ('Anh', 0)
                    '''
print(list(sorted(diem.keys()))) # ['Anh', 'Toán', 'Văn']

Dictionary Comprehension

Comprehension với dict tương tự như với list, tuple, set.

bp= {x: x*x for x in range(6)}

print(bp)
bpl = {x: x*x for x in range(11) if x % 2 == 1}

print(bpl)

Hàm dựng sẵn cho dict

Các hàm dựng sẵn thường dùng cho dict gồm all(), any(), len(), sorted(), ...

d = {0: 11, 1: 20, 3: 9, 5: 25, 7: 49, 9: 81}

print(all(d))     # False
print(any(d))     # True
print(len(d))     # 6
print(sorted(d))  # [0, 1, 3, 5, 7, 9]

Thao tác khác

Kiểm tra key chứa trong dict

Dùng từ khóa in để kiểm tra xem có tồn tại key nào đó trong dict không (không phải kiểm tra giá trị)

d = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

print(1 in d) # True
print(2 not in d) # True
print(49 in d) # False

Lặp theo phần tử dict

d = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in d:
    print(d[i])

Output: 1 9 25 49 81

PreviousBài 25. Dữ liệu kiểu setNextChương V. TỆP & THƯ MỤC

Last updated 4 years ago

Was this helpful?

clear()
copy()
fromkeys(seq[, v])
get(key[,d])
items()
keys()
pop(key[,d])
popitem()
setdefault(key[,d])
update([other])
values()