Tính trung bình cộng của list trong python năm 2024

Khác với các kiểu dữ liệu đơn giản đã học như số nguyên, số thực, logic, danh sách (list) là kiểu dữ liệu đặc biệt vì có thể lưu nhiều dữ liệu có liên quan vào cùng một nơi để tiện trong việc quản lý và sử dụng. Vì tính tiện lợi này mà hầu hết các ngôn ngữ lập trình bậc cao đều có cơ chể để tạo và thao tác trên danh sách. Tuy nhiên, một số ngôn ngữ như C++, PHP, Java,... yêu cầu rất chặc chẽ về mặt cú pháp trong khai báo, khởi tạo và sử dụng danh sách thì trong Python những việc này trở nên rất linh động.

Show

    Để dễ hình dung về danh sách, các em hãy tưởng tượng nếu chúng ta cần lưu trữ và xử lý điểm của một lớp có 45 học sinh. Với kiểu dữ liệu số thực đã học, em phải tạo ra 45 biến, mọi thao tác tính toán về sau cũng phải gọi đến 45 biến này. Đều này không sai về mặt cú pháp nhưng không hợp lý về mặt logic sử dụng thực tế. Nên cách tự nhiên nhất là chúng ta gom hết 45 con điểm này vào một danh sách, đặt tên cho danh sách này. Mọi thao tác về sau chúng ta chỉ dựa trên tên danh sách này và các chỉ số của từng con điểm mà nó quản lý bên trong.

    Tính trung bình cộng của list trong python năm 2024

    Hình trên thể hiện một danh sách tên Scores chứa các giá trị điểm số bên trong, mỗi giá trị điểm có một chỉ số (index).

    Mỗi điểm số đó ta gọi là một phần tử.

    Để truy cập vào từng phần tử của danh sách ta dùng tên danh sách kết hợp với chỉ số của nó.

    Ví dụ: Scores[2] là truy cập vào giá trị điểm 8.8

    Ở trên là một vài cái nhìn tổng quan về danh sách (list) trong các ngôn ngữ bậc cao. Sau đây chúng ta sẽ xem xét kỹ về cách Python cho phép ta tạo và quản lý danh sách nhé.

    Khởi tạo list trong Python

    • cú pháp

    = [, ,...,]

    • Trong đó:
      • Tên list: là tên tự đặt, lưu ý đúng theo quy tắc đặt tên
      • v1 đến vn: là giá trị từng phần tử của danh sách, các giá trị này có thể khác kiểu dữ liệu nhau. Đây chính là điểm khác biệt lớn giữa list trong python và các ngôn ngữ lập trình bậc cao khác.

    Ví dụ:

    # Tạo một list tên numbers chứa 3 số nguyên

    numbers = [1, 2, 5]

    print(numbers)

    # Output: [1, 2, 5]

    # Tạo một list rỗng - empty list

    my_list = []

    # list với các phần tử có kiểu dữ liệu khác nhau

    my_list = [1, "Hello", 3.4]

    Nhiệm vụ 1. Tạo một list để lưu điểm học sinh như trong phần giới thiệu. Xuất list này ra màn hình.

    Truy cập vào từng phần tử của list

    Như đã giới thiệu, việc truy cập vào từng phần tử của list được thực hiện dễ dàng bằng cú pháp

    [chỉ số]

    Ví dụ:

    languages = ["Python", "Swift", "C++"]

    # access item at index 0

    print(languages[0]) # Python

    # access item at index 2

    print(languages[2]) # C++

    Lưu ý: Chỉ số đầu tiên của list là 0 chứ không phải 1

    Một điều thú vị trong Python là ta có thể truy cập vào các phần tử của list bằng chỉ số âm, các em quan sát ví dụ sau đây và đưa ra nhận xét nhé:

    languages \= ["Python", "Swift", "C++"]

    # access item at index 0

    print(languages[-1]) # C++

    # access item at index 2

    print(languages[-3]) # Python

    Tính trung bình cộng của list trong python năm 2024

    Nhiệm vụ 2. Tạo một list có 6 phần tử số thực. Tính trung bình cộng của 6 phần tử đó. Xuất ra hai dòng:

    • Dòng đầu tiên là list đã tạo
    • Dòng thứ hai là trung bình cộng các phần tử của list

    Đến lúc này các em đã có cái nhìn tổng quan về list cũng như đãi có thể khởi tạo được list với các phần tử cho trước trong Python. Việc tiếp theo chúng ta cần tìm hiểu là cách thức sử dụng các list này. Python cung cấp một danh sách đa dạng các phương thức cho phép chúng ta thao tác trên list. Một số việc chúng ta có thể làm trên list là:

    • Lấy chiều dài của list (số lượng phần tử của list)
    • Duyệt qua các phần tử của list
    • Xoá phần tử của list
    • Thêm phần tử vào list
    • Nhập giá trị cho list từ bàn phím
    • Sắp xếp list theo thứ tự tăng hoặc giảm
    • Đảo ngược list
    • Copy một phần của list
    • Kiểm tra sự tồn tại của một giá trị trong list
    • Lấy một phần tử bất kỳ của list

    Chúng ta sẽ lần lượt tìm hiểu cách thực hiện các thao tác trên trong Python.

    • Cú pháp:

    len()

    • Ví dụ:

    languages \= ["Python", "Swift", "C++"]

    print(len(languages)) # output là 3

    Duyệt qua các phần tử của list

    Chúng ta có nhiều công việc khác nhau cần duyệt qua các phần tử của list như xuất ra giá trị các phần tử, tìm kiếm phần tử nào đó, ...Có nhiều cách giúp chúng ta làm được điều đó trong Python.

    Cách 1. Dùng vòng lặp For duyệt chỉ số (index)

    Ví dụ:

    languages \= ["Python", "Swift", "C++"]

    for i in range(len(languages)):

    print(languages[i])

    Các em thử tự code đoạn mã trên trong Python IDE để xem kết quả nhé.

    Cách 2. Dùng vòng lặp For duyệt toán tử "in"

    Ví dụ:

    languages \= ["Python", "Swift", "C++"]

    for lang in languages:

    print(lang)

    Các em thử tự code đoạn mã trên trong Python IDE để xem kết quả nhé.

    Hãy nhận xét sự khác nhau giữa biến "i" và biến "lang" trong hai ví dụ ở trên.

    Cách 3. Duyệt một đoạn trên list

    Python cho phép chúng ta duyệt qua một vùng trong list được xác định bằng dấu ":" đặt trong cặp [ ].

    Cú pháp như sau:

    To print elements from beginning to a range use:

    [: Index]

    To print elements from end-use:

    [:-Index]

    To print elements from a specific Index till the end use

    [Index:]

    To print the whole list in reverse order, use

    [::-1]

    Note – To print elements of List from rear-end, use Negative Indexes.

    Nguồn: GeeksforGeeks

    Tính trung bình cộng của list trong python năm 2024

    Hiểu thêm về cách truy cập phần tử trong Python:

    • pr[0] accesses the first item, 2.
    • pr[-4] accesses the fourth item from the end, 5.
    • pr[2:] accesses [5, 7, 11, 13], a list of items from third to last.
    • pr[:4] accesses [2, 3, 5, 7], a list of items from first to fourth.
    • pr[2:4] accesses [5, 7], a list of items from third to fifth.
    • pr[1::2] accesses [3, 7, 13], alternate items, starting from the second item.

    Ví dụ:

    # Python program to demonstrate

    # Removal of elements in a List

    # Creating a List

    List = ['G', 'E', 'E', 'K', 'S', 'F',

    'O', 'R', 'G', 'E', 'E', 'K', 'S']

    print("Initial List: ")

    print(List)

    # Print elements of a range

    # using Slice operation

    Sliced_List = List[3:8]

    print("\nSlicing elements in a range 3-8: ")

    print(Sliced_List)

    # Print elements from a

    # pre-defined point to end

    Sliced_List = List[5:]

    print("\nElements sliced from 5th "

    "element till the end: ")

    print(Sliced_List)

    # Printing elements from

    # beginning till end

    Sliced_List = List[:]

    print("\nPrinting all elements using slice operation: ")

    print(Sliced_List)

    Các em code lại chương trình trên trong Python IDE để xem kết quả nhé

    Nhiệm vụ 3. Hãy viết chương trình để tạo một list có 10 số nguyên. Xuất ra hai dòng:

    • Dòng đầu là list đầy đủ 10 số đã tạo
    • Dòng thứ 2 là danh sách các số chẵn của dãy trên

    Xoá phần tử ra khỏi list cũng là thao tác thường sử dụng trong Python, một số cách sau đây giúp chúng ta thực hiện điều đó dễ dàng:

    Cách 1. Sử dụng hàm del()

    • Cú pháp

    del [chỉ số]

    Ví dụ

    languages = ['Python', 'Swift', 'C++', 'C', 'Java', 'Rust', 'R']

    # deleting the second item

    del languages[1]

    print(languages) # ['Python', 'C++', 'C', 'Java', 'Rust', 'R']

    # deleting the last item

    del languages[-1]

    print(languages) # ['Python', 'C++', 'C', 'Java', 'Rust']

    # delete first two items

    del languages[0 : 2] # ['C', 'Java', 'Rust']

    print(languages)

    Các em tự code lại chương trình trên trện Python IDE để xem kết quả nhé

    Cách 2. Sử dung hàm Remove()

    • Cú pháp

    .remove()

    Ví dụ:

    languages = ['Python', 'Swift', 'C++', 'C', 'Java', 'Rust', 'R']

    # remove 'Python' from the list

    languages.remove('Python')

    print(languages) # ['Swift', 'C++', 'C', 'Java', 'Rust', 'R']

    Nhiệm vụ 4. Viết chương trình để tạo một list có 10 phần tử số nguyên. Nhập vào một số nguyên k, hãy xóa k khỏi list vừa tạo. Xuất ra hai dòng:

    • Dòng đầu là list ban đầu
    • Dòng thứ hai là list đã xóa k. Nếu k không tồn tại trong list thì báo là k không tồn tại

    Nhiệm vụ 5. Viết chương trình để tạo một list lưu tên của 10 bạn trong lớp em. Nhập vào tên một bạn bất kỳ, xuất ra vị trí của bạn trong list và xóa tên bạn khỏi list. Sau đó xuất ra list mới (không còn tên bạn nữa).

    Trong thao tác với list, việc thêm phần tử vào cho nó là rất quan trọng, cũng như thao tác xóa phần tử, python cũng cung cấp nhiều cách để chúng ta thêm phần tử vào.

    Cách 1. Sử dung hàm append()

    • Cú pháp

    .append()

    • Trong đó

    Tên list: list cần add giá trị

    Giá trị: giá trị cần add vào list

    Ví dụ

    # Python program to demonstrate

    # Addition of elements in a List

    # Creating a List

    List = []

    print("Initial blank List: ")

    print(List)

    # Addition of Elements

    # in the List

    List.append(1)

    List.append(2)

    List.append(4)

    print("\nList after Addition of Three elements: ")

    print(List)

    Nguồn code: GeeksforGeeks

    Giá trị xuất ra màn hình là

    Initial blank List:

    []

    List after Addition of Three elements:

    [1, 2, 4]

    Cách 2. Sử dung hàm insert()

    • Cú pháp

    .insert( vị trí cần chèn, giá trị muốn chèn)

    • Trong đó

    Tên list: list muốn chèn giá trị

    Ví trí: Vị trí cần chèn giá trị vào, lưu ý tính từ 0

    Giá trị muốn chèn: Giá trị muốn chèn vào list

    • Ví dụ

    # Python program to demonstrate

    # Addition of elements in a List

    # Creating a List

    List = [1,2,3,4]

    print("Initial List: ")

    print(List)

    # Addition of Element at

    # specific Position

    # (using Insert Method)

    List.insert(3, 12)

    List.insert(0, 'Geeks')

    print("\nList after performing Insert Operation: ")

    print(List)

    Kết quả xuất ra màn hình như sau

    Initial List:

    [1, 2, 3, 4]

    List after performing Insert Operation:

    ['Geeks', 1, 2, 3, 12, 4]

    Nhiệm vụ 6. Viết chương trình tạo một list có 6 số nguyên. Nhập vào một số nguyên bất kỳ rồi add số này vào cuối list. Xuất ra ba dòng:

    • Dòng đầu là list ban đầu
    • Dòng 2 là số bạn nhập vào
    • Dòng 3 là list sau khi đã thêm số vừa nhập vào

    Nhiệm vụ 7. Viết chương trình tạo một list 10 tên các thành phố trên thế giới. Nhập tiếp một thành phố bất kỳ, nhập vị trí muốn chèn vào list, sau đó chèn tên thành phố này vào vị trí đó. Xuất ra 3 dòng:

    • Dòng đầu là list khởi tạo ban đầu.
    • Dòng hai là tên thành phố mới và vị trí muốn chèn
    • Dòng ba là list mới sau khi đã chèn thêm thành phố.

    Nhập giá trị từ bàn phím cho list

    Đến đây các em đã thành thục nhiều thao tác trên list của python. Tuy nhiên, các ví dụ ở trên chỉ dùng list được khởi tạo sẵn giá trị trong chương trình. Nếu chúng ta muốn lấy giá trị input từ bàn phím để đưa vào list thì phải thao tác như thế nào? Chúng ta cùng xem qua một số ví dụ sau đây nhé.

    Ví dụ 1 - nhập một list với các phần tử là chuỗi

    1.# Python program to take space

    2.# separated input as a string

    3.# split and store it to a list

    4.# and print the string list

    5.# input the list as string

    6.string = input("Enter elements (Space-Separated): ")

    7.# split the strings and store it to a list

    8.lst = string.split()

    9.print('The list is:', lst) # printing the list

    Kết quả xuất ra màn hình như sau:

    Enter elements: GEEKS FOR GEEKS

    The list is: ['GEEKS', 'FOR', 'GEEKS']

    Phân tích:

    Trong ví dụ trên, các em thấy rằng input người dùng nhập vào là một chuỗi "GEEKS FOR GEEKS" được gán vào cho biến string.

    Tại dòng lệnh số 8, chúng ta dùng lệnh split() để tách các chữ trong string rồi gán vào cho list, nên kết quả xuất ra màn hình chúng ta thấy list có 3 phần tử là GEEKS, FOR và GEEKS

    Ví dụ 2 - Nhập vào một dãy số nguyên có n phần tử (nhập từng phần tử)

    n = int(input("Hay nhap so luong pt:"))

    lst = [] # Tạo một list rỗng

    for i in range(0,n):

    print("Nhap phan tu thu",i, ":")

    tmp = int(input())

    Nhập giá trị cho phần tử thứ i rồi gán vào biến tmp

    lst.append(tmp)

    Add tmp vào list

    print("List vua nhap la:")

    print(lst)

    Kết quả ra màn hình như sau:

    Hay nhap so luong pt:4

    Nhap phan tu thu 0 :

    6

    Nhap phan tu thu 1 :

    7

    Nhap phan tu thu 2 :

    9

    Nhap phan tu thu 3 :

    10

    List vua nhap la:

    [6, 7, 9, 10]

    Ví dụ 3 - Nhập vào một dãy số nguyên có n phần tử trên một dòng

    # input size of the list

    n = int(input("Enter the size of list : "))

    # store integers in a list using map,

    # split and strip functions

    lst = list(map(int, input("Enter the integer\

    elements:").strip().split()))[:n]

    # printing the list

    print('The list is:', lst)

    Kết quả xuất ra màn hình như sau:

    Enter the size of list : 4

    Enter the integer elements: 6 3 9 10

    The list is: [6, 3, 9, 10]

    Ví dụ 3 ở trên sử dụng hàm map() để chuyển đổi n giá trị được cắt ra từ một chuỗi nhập bằng hàm split() sáng số nguyên. Sau đó gán hết các giá trị này vào lst.

    Hàm strip() các em thấy ở trên là dùng để loại bỏ các khoản trắng thừa ở đầu và cuối chuỗi nhập.

    Tuy nhiên nếu sự lồng ghép nhiều hàm như trên khiến các em thấy rối và khó hiểu, các em có thể làm theo cách đơn giản sau đây:

    Create an empty list

    lst = []

    input the size of list

    print("Nhap so phan tu cua list:")

    n = int(input())

    input value for list

    print("Nhap danh sách phan tu:")

    tmp = input().split()

    # Chỗ này tương tự như cách chúng ta từng nhập input cho các bài trước đây trên tkncoder.net

    # Sau đó thấy dùng hàm append()để add từng phần tử của tmp vào list, nhớ chuyển sáng int

    for i in range(n):

    lst.append(int(tmp[i]))

    print the list

    print("list vua nhap la:")

    print(lst)

    Kết quả cũng đạt tương tự như sau:

    Nhap so phan tu cua list:

    4

    Nhap danh sách phan tu:

    5 7 9 4

    list vua nhap la:

    [5, 7, 9, 4]

    Ví dụ 4 - Nhập một dãy phần tử mà chưa biết số lượng là bao nhiêu

    # For list of integers

    lst1 = []

    # For list of strings/chars

    lst2 = []

    lst1 = [int(item) for item in input("Enter the list items : ").split()]

    lst2 = [item for item in input("Enter the list items : ").split()]

    print(lst1)

    print(lst2)

    Kết quả xuất ra màn hình như sau:

    Enter the list items : 4 5 7 9

    Enter the list items : 4.5 7.5 3.5 8

    [4, 5, 7, 9]

    ['4.5', '7.5', '3.5', '8']

    Nhiệm vụ 8. Viết chương trình nhập vào từ bàn phím số nguyên N và dãy N số nguyên, Xuất ra hai dòng:

    • Dòng đầu là dãy số vừa nhập
    • Dòng tiếp theo là các số bội 3 của dãy trên

    Nhiệm vụ 9. Viết chương trình nhập vào từ bàn phím số nguyên N và dãy N số nguyên, đếm số lượng số chẵn trong dãy. Xuất ra hai dòng:

    • Dòng đầu là dãy số vừa nhập
    • Dòng thứ 2 là số lượng số chẵn của dãy

    Nhiệm vụ 10. Viết chương trình nhập vào từ bàn phím số nguyên N và dãy N số nguyên, Xuất ra hai dòng:

    • Dòng đầu là dãy số vừa nhập
    • Dòng tiếp theo là các số bội 5 của dãy trên, nếu không có số nào là bội của 5 trong dãy thì xuất ra "Khong co boi 5 trong day"

    Nhiệm vụ 11. Thực hiện bài trắc nghiệm List 1 sau đây

    Các em truy cập tkncoder.net > Chọn Bài tập > Danh sách bài tập --> mở tìm kiếm và thực hiện các bài tập sau đây