Danh sách Python: Hiểu, Chi tiêu, Sắp xếp, Độ dài, VÍ DỤ Đảo ngược

Mục lục:

Anonim

Danh sách Python là gì?

Danh sách chính xác như âm thanh của nó, một vùng chứa chứa các đối tượng Python khác nhau, 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ộ giá trị, đượ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ộ giá trị, là bất biến.

Trong hướng dẫn python này, bạn sẽ học:

  • Danh sách Python là gì?
  • Ví dụ về danh sách Python:
  • Truy cập các giá trị trong danh sách
  • Cắt danh sách
  • Cập nhật danh sách
  • Xóa các phần tử danh sách
  • Thêm các phần tử danh sách
  • Liệt kê các hàm (phương thức) tích hợp sẵn
  • Lặp qua danh sách
  • Liệt kê các kiến ​​thức

Ví dụ về danh sách Python:

Danh sách Python có thể đồng nhất, có 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, chỉ mục của các đối tượng bên trong danh sách có thể được sử dụng. Một chỉ mục trong danh sách Python đề 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 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[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

Cắt danh sách

Cắt danh sách là phương pháp tách một tập hợp con của danh sách và các chỉ số của các đố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ụ 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).

Danh sách Python 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]. Tương tự đối với tất cả các ví dụ cắt danh sách khác được đưa ra ở trên.

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 hiệu quả thành viên ở chỉ mục 0. Đ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] = biologyprint(list)

Đầu ra: [sinh học, hóa học, toán học]

Điều này thay thế thành viên ở chỉ số 0 (vật lý) bằng giá trị mới mà 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 của 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 được 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ể làm điều đó với:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(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ố miễn phí như 30,5, bạn sẽ sử dụng:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Xóa các phần tử danh sách

Có 3 phương thức Python để xóa các phần tử danh sách: list.remove (), list.pop () và toán tử del. Phương thức remove lấy phần tử cụ thể cần xóa làm đối số trong khi pop và del lấy chỉ mục 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ử đầu tiên) khỏi danh sách, bạn có thể sử dụng:

  • list.remove (3) hoặc
  • list.pop [0] hoặc
  • danh sách xóa [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
  • list.pop [3]

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 append được sử dụng và điều 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) tích hợp sẵn

Sau đây là danh sách danh sách các hàm và phương thức được tích hợp sẵn với mô tả của chúng:

  • len (list): điều này cho biết độ dài của danh sách dưới dạng đầu ra. Ví dụ:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • max (list): 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
  • min (list): 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
  • list (tuple): 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]
  • list.append (element): gắn 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]
  • list.pop (index): loại bỏ phần tử tại chỉ mục đượ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]
  • list.remove (element): 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]
  • list.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]
  • list.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
  • sum (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ư một chuỗi, thì phương thức sum sẽ không hoạt động. Bạn sẽ gặp lỗi khi nói: " TypeError : (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 vi dụ khac:

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 các chuỗi. Ví dụ;

# to sort the list by length of the elementsstrings = ['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ự bảng chữ cái bằng cách sử dụng 'chuỗi.

Lặp qua danh sách

Việc lặp qua 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 lại 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 + 5print(elem)>>>>15253545556575

Để lặp lại 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 phần tử thứ 3 (chỉ số 2) đến phần tử cuối cùng trong danh sách và nối chúng vào một danh sách mới được gọi là 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 pháp hoặc chức năng nào 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 phương pháp cắt danh sách.

Liệt kê toàn bộ

Hiểu danh sách là các hàm Python được sử dụng để tạo 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à dễ bảo trì hơn.

Ví dụ; giả sử bạn muốn tạo một danh sách chứa các ô vuông của tất cả các số từ 1 đến 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_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 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ết mã bằng cách sử dụng danh sách hiểu ngắn hơn nhiều so với 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 khả năng hiểu danh sách thay cho vòng lặp for, nhưng điều này có thể được nhân rộng và sử dụng ở rất 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 nếu mã phức tạp, nhưng trong nhiều trường hợp, khả năng hiểu danh sách sẽ giúp việc viết mã của bạn dễ dàng và nhanh chóng hơn.

Dưới đây là bảng chứa một số hàm và phương thức trong danh sách cùng với mô tả của chúng.

Chức năng tích hợp sẵn

CHỨC NĂNG SỰ MIÊU TẢ
Tròn() Làm tròn số được truyền dưới dạng đối số thành một số chữ số được chỉ định và trả về giá trị dấu phẩy động
Min () 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 một danh sách nhất định
len () Trả về độ dài của danh sách
Liệt kê () Hàm tích hợp này tạo ra cả giá trị và chỉ mục của các mục trong một tệp có thể lặp lại, vì vậy chúng tôi không cần phải đếm theo cách thủ công
Bộ 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à một định nghĩa (để tạo các hàm) không phải là cú pháp, bên trong một danh sách các đối số là chữ hoặc lệnh gọi của một hàm
Bản đồ() trả về danh sách các kết quả sau khi áp dụng hàm đã cho cho từng mục của một tệp có thể lặp lại nhất định
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 phần tử của 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 SỰ MIÊU TẢ
Nối () 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 ban đầu
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ể của danh sách
Pop () Xóa mục khỏi danh sách tại chỉ mục cụ thể (xóa theo vị trí)
Tẩy() Xóa mục đã chỉ định khỏi danh sách (xóa theo giá trị)
Đảo ngược() Phương pháp đảo ngược tại chỗ đảo ngược thứ tự của các phần tử trong danh sách

Tóm lược

  • Danh sách giống hệt như âm thanh của nó, một vùng chứa chứa các đối tượng Python khác nhau, có thể là số nguyên, từ, giá trị, v.v.
  • Danh sách Python có thể đồng nhất, có 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, chỉ mục của các đối tượng bên trong danh sách có thể được sử dụng.
  • Cắt danh sách là phương pháp tách một tập hợp con của danh sách và các chỉ số của các đố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 phần tử danh sách là: 1) list.remove (), 2) list.pop () và 3) toán tử del
  • Phương thức nối đượ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 thức lặp của chương trình Python có thể được thực hiện trên nhiều phần tử của một danh sách dữ liệu cùng một lúc.
  • Hiểu danh sách là các hàm Python được sử dụng để tạo 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.