Python Hiểu danh sách, bổ sung, sắp xếp, độ dài [VÍ DỤ]
Một Python Danh sách?
Một danh sách đúng như tên gọi của nó, một thùng chứa các Python đối tượng, có thể là số nguyên, từ, giá trị, v.v. Nó tương đương với một mảng trong các ngôn ngữ lập trình khác. Nó được biểu diễn bằng dấu ngoặc vuông (và đây là một trong những thuộc tính phân biệt nó với các bộ, được phân tách bằng dấu ngoặc đơn). Nó cũng có thể thay đổi, nghĩa là nó có thể được sửa đổi hoặc cập nhật; không giống như các bộ, không thể thay đổi.
Ví dụ về Python danh sách:
Python danh sách có thể đồng nhất, nghĩa là chúng có thể chứa cùng một loại đối tượng; hoặc không đồng nhất, bao gồm các loại đối tượng khác nhau.
Ví dụ về danh sách đồng nhất bao gồm:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Ví dụ về danh sách không đồng nhất bao gồm:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
Truy cập các giá trị trong danh sách
Để truy cập các giá trị trong danh sách, có thể sử dụng chỉ mục của các đối tượng bên trong danh sách. Một chỉ số trong Python danh sách đề cập đến vị trí của một phần tử trong danh sách có thứ tự. Ví dụ:
list = [3, 22, 30, 5.3, 20]
- Giá trị đầu tiên trong danh sách trên, 3, có chỉ số là 0
- Giá trị thứ hai, 22, có chỉ số là 1
- Giá trị thứ ba, 30, có chỉ số là 2
và như thế. Để truy cập từng giá trị từ danh sách, bạn sẽ sử dụng:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
Thành viên cuối cùng của danh sách cũng có thể được truy cập bằng cách sử dụng chỉ mục -1. Ví dụ,
list[-1] = 20
Python Cắt danh sách
Cắt danh sách là phương pháp chia nhỏ một tập hợp con của danh sách và các chỉ mục của đối tượng danh sách cũng được sử dụng cho việc này. Ví dụ: sử dụng cùng một ví dụ về danh sách ở trên;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python danh sách là độc quyền ở giới hạn trên và điều này có nghĩa là chỉ mục cuối cùng trong quá trình cắt danh sách thường bị bỏ qua. Đó là lý do tại sao
list[2:-1] = [30, 5.3]
, chứ không phải [30, 5.3, 20]. Điều tương tự cũng xảy ra với tất cả các ví dụ cắt danh sách khác được đưa ra ở trên.
Đang cập nhật danh sách
Giả sử bạn có một danh sách = [vật lý, hóa học, toán học] và bạn muốn thay đổi danh sách thành [sinh học, hóa học, toán học], thay đổi thành viên ở chỉ số 0 một cách hiệu quả. Điều đó có thể dễ dàng thực hiện bằng cách gán chỉ mục đó cho thành viên mới mà bạn muốn.
Đó là,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Đầu ra: [sinh học, hóa học, toán học]
Điều này thay thế thành phần ở chỉ số 0 (vật lý) bằng giá trị mới bạn muốn (hóa học). Điều này có thể được thực hiện cho bất kỳ thành viên hoặc tập hợp con nào trong danh sách mà bạn muốn thay đổi.
Để đưa ra một ví dụ khác; giả sử bạn có một danh sách gọi là số nguyên và chứa các số [2, 5, 9, 20, 27]. Để thay thế 5 trong danh sách đó bằng 10, bạn có thể thực hiện điều đó bằng:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Để thay thế thành viên cuối cùng của danh sách các số nguyên là 27 bằng một số tự do như 30.5, bạn sẽ sử dụng:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Xóa phần tử danh sách
Có 3 Python phương pháp xóa phần tử danh sách: list.remove(), list.pop() và toán tử del. Phương pháp remove lấy phần tử cụ thể cần xóa làm đối số trong khi pop và del lấy chỉ số của phần tử cần xóa làm đối số. Ví dụ:
danh sách = [3, 5, 7, 8, 9, 20]
Để xóa 3 (phần tử thứ 1) khỏi danh sách, bạn có thể sử dụng:
- list.remove(3) hoặc
- list.pop[0], hoặc
- xóa danh sách[0]
Để xóa 8, mục ở chỉ mục 3, khỏi danh sách, bạn có thể sử dụng:
- list.remove(8), hoặc
- danh sách.pop[3]
Nối thêm các phần tử danh sách
Để nối các phần tử vào danh sách, phương thức chắp thêm được sử dụng và phương thức này sẽ thêm phần tử vào cuối danh sách.
Ví dụ:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Liệt kê các hàm (phương thức) có sẵn
Sau đây là danh sách các hàm và phương thức tích hợp sẵn cùng với mô tả của chúng:
- len(danh sách): điều này cho biết độ dài của danh sách là đầu ra. Ví dụ:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- tối đa (danh sách): trả về mục trong danh sách có giá trị lớn nhất. Ví dụ:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- phút (danh sách): trả về mục trong danh sách có giá trị nhỏ nhất. Ví dụ:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- danh sách (bộ): chuyển đổi một đối tượng tuple thành một danh sách. Ví dụ;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- danh sách.append(element): nối phần tử vào danh sách. Ví dụ;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- danh sách.pop(index): loại bỏ phần tử tại chỉ mục đã chỉ định khỏi danh sách. Ví dụ;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- danh sách.remove(phần tử): xóa phần tử khỏi danh sách. Ví dụ;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- danh sách.reverse(): đảo ngược các đối tượng của danh sách. Ví dụ;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- danh sách.index(element): lấy giá trị chỉ mục của một phần tử trong danh sách. Ví dụ;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- tổng hợp(list): lấy tổng của tất cả các giá trị trong danh sách, nếu các giá trị đều là số (số nguyên hoặc số thập phân). Ví dụ;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Nếu danh sách chứa bất kỳ phần tử nào không phải là số, chẳng hạn như chuỗi, thì phương thức tính tổng sẽ không hoạt động. Bạn sẽ gặp lỗi khi nói: “LoạiLỗi: (các) loại toán hạng không được hỗ trợ cho +: 'int' và 'str'”
- list.sort(): để sắp xếp danh sách các số nguyên, số dấu phẩy động hoặc chuỗi theo thứ tự tăng dần hoặc giảm dần. Ví dụ:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Một ví dụ khác:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
Danh sách các chuỗi cũng có thể được sắp xếp theo thứ tự bảng chữ cái hoặc theo độ dài của chuỗi. Ví dụ;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
Chúng ta có thể sắp xếp cùng một danh sách theo thứ tự abc bằng cách sử dụng 'strings.
Lặp qua danh sách
Việc lặp qua các danh sách có thể được thực hiện giống như bất kỳ hàm lặp nào khác trong Python. Bằng cách này, một phương thức có thể được thực hiện trên nhiều phần tử của danh sách cùng một lúc. Ví dụ:
danh sách = [10, 20, 30, 40, 50, 60, 70].
Để lặp qua tất cả các phần tử của danh sách này và giả sử, hãy thêm 10 vào mỗi phần tử:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Để lặp qua ba phần tử đầu tiên của danh sách và xóa tất cả chúng;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Để lặp qua 3rd (chỉ mục 2) vào phần tử cuối cùng trong danh sách và thêm chúng vào danh sách mới có tên new_list:
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
Bằng cách này, bất kỳ hoặc phương thức hoặc chức năng nào cũng có thể được áp dụng cho các thành viên của danh sách để thực hiện một thao tác cụ thể. Bạn có thể lặp qua tất cả các thành viên của danh sách hoặc lặp qua một tập hợp con của danh sách bằng cách sử dụng tính năng cắt danh sách.
Liệt kê toàn bộ Python
Danh sách hiểu là Python các hàm được sử dụng để tạo các chuỗi mới (chẳng hạn như danh sách, từ điển, v.v.) bằng cách sử dụng các chuỗi đã được tạo. Chúng giúp giảm các vòng lặp dài hơn và làm cho mã của bạn dễ đọc và bảo trì hơn.
Ví dụ; giả sử bạn muốn tạo một danh sách chứa bình phương của tất cả các số từ 1 đến 9:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Để làm điều tương tự với việc hiểu danh sách:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Như đã thấy ở trên, việc viết mã bằng cách sử dụng list understandings ngắn hơn nhiều so với việc sử dụng vòng lặp for truyền thống và cũng nhanh hơn. Đây chỉ là một ví dụ về việc sử dụng list understandings thay cho vòng lặp for, nhưng điều này có thể được sao chép và sử dụng ở nhiều nơi mà vòng lặp for cũng có thể được sử dụng. Đôi khi, sử dụng vòng lặp for là lựa chọn tốt hơn, đặc biệt là nếu mã phức tạp, nhưng trong nhiều trường hợp, list understandings sẽ giúp việc viết mã của bạn dễ dàng và nhanh hơn.
Dưới đây là bảng chứa một số hàm và phương thức danh sách cũng như mô tả của chúng.
Chức năng tích hợp sẵn
CHỨC NĂNG | MÔ TẢ |
---|---|
Tròn() | Làm tròn số được truyền dưới dạng đối số thành số chữ số đã chỉ định và trả về giá trị dấu phẩy động |
Tối thiểu() | trả về phần tử tối thiểu của một danh sách nhất định |
Max () | trả về phần tử tối đa của danh sách nhất định |
len () | Trả về độ dài của danh sách |
Liệt kê() | Hàm dựng sẵn này tạo ra cả giá trị và chỉ mục của các mục trong một lần lặp, vì vậy chúng ta không cần phải đếm thủ công |
Lọc() | kiểm tra xem mỗi phần tử của danh sách có đúng hay không |
Lambda | Một biểu thức có thể xuất hiện ở những nơi mà def (để tạo hàm) không có cú pháp, bên trong một danh sách bằng chữ hoặc các đối số lệnh gọi của hàm |
Bản đồ() | trả về danh sách kết quả sau khi áp dụng hàm đã cho cho từng mục của một lần lặp đã cho |
Tích trữ() | áp dụng một hàm cụ thể được truyền trong đối số của nó cho tất cả các thành phần trong danh sách, trả về một danh sách chứa các kết quả trung gian |
Tổng() | Trả về tổng của tất cả các số trong danh sách |
Cmp() | Điều này được sử dụng để so sánh hai danh sách và trả về 1 nếu danh sách đầu tiên lớn hơn danh sách thứ hai. |
Chèn | Chèn phần tử vào danh sách ở vị trí cụ thể |
Liệt kê các phương pháp
CHỨC NĂNG | MÔ TẢ |
---|---|
Nối thêm() | Thêm một mục mới vào cuối danh sách |
Thông thoáng() | Xóa tất cả các mục khỏi danh sách |
Sao chép () | Trả về bản sao của danh sách gốc |
Mở rộng() | Thêm nhiều mục vào cuối danh sách |
Đếm() | Trả về số lần xuất hiện của một mục cụ thể trong danh sách |
Mục lục() | Trả về chỉ mục của một phần tử cụ thể trong danh sách |
Nhạc pop() | Xóa mục khỏi danh sách tại chỉ mục cụ thể (xóa theo vị trí) |
Di dời() | Xóa mục được chỉ định khỏi danh sách (xóa theo giá trị) |
Reverse() | Phương pháp đảo ngược tại chỗ đảo ngược thứ tự của các thành phần trong danh sách |
Tổng kết
- Một danh sách đúng như tên gọi của nó, một thùng chứa các Python các đối tượng, có thể là số nguyên, từ, giá trị, v.v.
- Python danh sách có thể đồng nhất, nghĩa là chúng có thể chứa cùng một loại đối tượng; hoặc không đồng nhất, chứa các loại đối tượng khác nhau.
- Để truy cập các giá trị trong danh sách, có thể sử dụng chỉ mục của các đối tượng bên trong danh sách.
- Cắt danh sách là phương pháp chia nhỏ một tập hợp con của danh sách và các chỉ mục của đối tượng danh sách cũng được sử dụng cho việc này.
- Ba phương pháp để xóa các thành phần danh sách là: 1)list.remove(), 2)list.pop() và 3)toán tử del
- Phương thức Append được sử dụng để nối các phần tử. Điều này thêm phần tử vào cuối danh sách.
- Phương pháp lặp của Python chương trình có thể được thực hiện trên nhiều phần tử của danh sách dữ liệu cùng một lúc.
- Danh sách hiểu là Python các hàm được sử dụng để tạo các chuỗi mới (chẳng hạn như danh sách, từ điển, v.v.) bằng cách sử dụng các chuỗi đã được tạo.