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 list
  • Truy cập phần tử list
  • Truy cập phần tử list theo chỉ số âm
  • Cắt đoạn list
  • Thêm, sửa phần tử list
  • Thay đổi giá trị phần tử
  • Thêm phần tử vào list
  • Xóa phần tử list
  • Phương thức (list method)
  • List Comprehension
  • Thao tác khác
  • Kiểm tra phần tử chứa trong list
  • Lặp theo phần tử list
  • Thao tác tạo list bổ sung

Was this helpful?

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

Bài 23. Dữ liệu kiểu list

List là một trong những kiểu dữ liệu được sử dụng thường xuyên nhất và rất linh hoạt trong Python.

Khởi tạo list

# list rỗng
my_list = []

# list số nguyên
my_list = [1, 2, 3]

# list hỗn hợp
my_list = [1, "Hello", 3.4]

# list lồng nhau
my_list = ["mouse", [8, 4, 6], ['a']]

Truy cập phần tử list

my_list = ['H', 'ọ', 'c', ' ', 'P', 'y', 't', 'h', 'o', 'n']

print(my_list[0])        # Output: H
print(my_list[2])        # Output: c
print(my_list[4])        # Output: p

n_list = ["Happy", [2, 0, 1, 5]]    # list lồng nhau

print(n_list[0][1])        # Output: a
print(n_list[1][3])        # Output: 5

Lưu ý: chỉ số để truy xuất phần tử list phải là số nguyên

Truy cập phần tử list theo chỉ số âm

my_list = ['H', 'ọ', 'c', ' ', 'P', 'y', 't', 'h', 'o', 'n']

print(my_list[-1])    # Output: n
print(my_list[-5])    # Output: y

Cắt đoạn list

my_list = ['H', 'ọ', 'c', ' ', 'P', 'y', 't', 'h', 'o', 'n']

print(my_list[2:5])     # ['c', ' ', 'P']
print(my_list[:-5])     # ['H', 'ọ', 'c', ' ', 'P']
print(my_list[5:])     # ['y', 't', 'h', 'o', 'n']
print(my_list[:])     # ['H', 'ọ', 'c', ' ', 'P', 'y', 't', 'h', 'o', 'n']

Lưu ý: tham số cắt đoạn [a:b] được lấy từ phần tử có chỉ số a đến phần tử trước chỉ số b.

Thêm, sửa phần tử list

Thay đổi giá trị phần tử

a = [2, 4, 6, 8]

# đổi giá trị phần tử a[0]    
a[0] = 1            
print(a)        # [1, 4, 6, 8]

# đổi giá trị phần tử a[1] đến a[3]
a[1:4] = [3, 5, 7]  
print(a)         # [1, 3, 5, 7]

Thêm phần tử vào list

Dùng append() và extend()

ma = [0, 9, 1, 8, 9, 1, 8]

ma.append(4)
print(ma)         # [0, 9, 1, 8, 9, 1, 8, 4]

ma.extend([4, 7])
print(ma)         # [0, 9, 1, 8, 9, 1, 8, 4, 4, 7]

Dùng toán tử +, *

ma = [0, 9, 1, 8, 9, 1, 8]

ma += [4,4,7]
print(ma)         # [0, 9, 1, 8, 9, 1, 8, 4, 4, 7]

mb = 'Happy! '
print(mb * 5)     # Happy! Happy! Happy! Happy! Happy!

Dùng phương thức insert()

ma = [1, 9]

ma.insert(1,3)
print(ma)         # [1, 3, 9]

ma[2:2] = [5, 7]
print(ma)         # [1, 3, 5, 7, 9]

Xóa phần tử list

ma = ['P', 'y', 't', 'h', 'o', 'n', '3']

del ma[2]    # delete one item
print(ma)    # ['P', 'y', 'h', 'o', 'n', '3']

del ma[1:5]   # delete multiple items
print(ma)     # ['P', '3']

del ma        # delete entire list
# Nếu print(ma) sẽ cho lỗi: List not defined

Ta có thể sử dụng các phương thức remove(), pop(), clear() để xóa phần tử list.

ma = ['P', 'y', 't', 'h', 'o', 'n', '3']

ma.remove('y')
print(ma)            # Output: ['P', 't', 'h', 'o', 'n', '3']
print(ma.pop(1))     # Output: 't'
print(ma)            # Output: ['P', 'h', 'o', 'n', '3']
print(ma.pop())      # Output: '3'
print(ma)            # Output: ['P', 'h', 'o', 'n']

ma.clear()
print(ma)            # Output: []

Hoặc ta có thể xóa phần tử list bằng cách gán list rỗng cho phần tử muốn xóa

ma = ['P', 'y', 't', 'h', 'o', 'n', '3']

ma[2:4] = []
print(ma)     # ['P', 'y', 'o', 'n', '3']

Phương thức (list method)

Phương thức trong Python được gọi bởi dấu chấm và tên phương thức sau tên biến. Có dạng list.method(). Các phương thức xử lý list gồm:

append() - thêm phần tử extend() - nối list insert() - chèn phần tử theo chỉ số remove() - xóa một phần tử list pop() - Xóa và trả về chỉ số phần tử vừa xóa clear() - Xóa hết các phần tử của list -> trả về list rỗng index() - Trả về chỉ số của phần tử đầu tiên có giá trị như tham số count() - Đếm số phần tử có giá trị như tham số sort() - Sắp xếp thành list tăng dần reverse() - Đảo chiều phần tử list copy() - Sao chép list

Ví dụ:

ma = [9, 1, 8, 9, 1, 8, 4]

print(ma.index(9))    # Output: 0
print(ma.count(8))    # Output: 2

ma.sort()
print(ma)    # Output: [1, 1, 4, 8, 8, 9, 9]

ma.reverse()
print(ma)    # Output: [9, 9, 8, 8, 4, 1, 1]

List Comprehension

Chưa biết nên dịch thuật ngữ list comprehension là gì nhưng đây là một cách ngắn gọn và riêng có của Python để tạo một list từ list đã có. Xét một vài ví dụ để xem cách hoạt động của list comprehension dưới đây:

pow2 = [2 ** x for x in range(10)]
print(pow2)    # [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

pow2 = [2 ** x for x in range(10) if x > 5]
print(pow2)    # [64, 128, 256, 512]

odd = [x for x in range(20) if x % 2 == 1]
print(odd)    # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

a = [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
print(a)    # ['Python Language', 'Python Programming', 'C Language', 'C Programming']

Thao tác khác

Kiểm tra phần tử chứa trong list

ma = ['P', 'y', 't', 'h', 'o', 'n', '3']

print('h' in ma)    # Output: True

print('a' in ma)    # Output: False

print('c' not in ma)    # Output: True

Lặp theo phần tử list

mau = ['xanh','đỏ', 'vàng']

for x in ['apple','banana','mango']:
    print("I like",x)

for i in mau:
    print('Tôi thích màu', i)

Output: I like apple I like banana I like mango Tôi thích màu xanh Tôi thích màu đỏ Tôi thích màu vàng

Thao tác tạo list bổ sung

Tạo list đơn có n phần tử

n = 5
ma = [None]*n
print(ma)

Output: [None, None, None, None, None]

Tạo nested list dạng mảng 2 chiều có c cột và d dòng

c = 5
d = 3
ma = [[None for x in range(c)] for x in range(d)]

Output: [[None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]]

PreviousBài 22. Dữ liệu kiểu stringNextBài 24. Dữ liệu kiểu tuple

Last updated 3 years ago

Was this helpful?