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. 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
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 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 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:
Đế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à:
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.
len(
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 Hiểu thêm về cách truy cập phần tử trong Python:
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:
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()
del 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()
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:
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()
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: GeeksforGeeksGiá 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()
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
# 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:
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:
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 tmplst.append(tmp) Add tmp vào listprint("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 listlst = [] input the size of listprint("Nhap so phan tu cua list:") n = int(input()) input value for listprint("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 listprint("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:
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:
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:
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 |