List Trong Python – Techacademy

Trong ngôn từ lập trình Python có 4 kiểu tài liệu tích lũy ( collection data ) gồm có List, Tuple, Set và Dictionary. Khi bạn chọn một kiểu tập hợp, bạn cần phải hiểu rõ các thuộc tính của nó để tăng cường hiệu suất cao bảo mật thông tin hoặc sử dụng. Bài viết ngày hôm nay sẽ ra mắt và nghiên cứu và phân tích rõ các thuộc tính của List trong Python, một trong những kiểu tài liệu tiếp tục sử dụng trong lập trình .

I. Các Kiểu Dữ Liệu Chuẩn

Dữ liệu mà được tàng trữ trong bộ nhớ hoàn toàn có thể có nhiều kiểu khác nhau. Ví dụ, lương của công nhân đươc tàng trữ dưới dạng một giá trị số còn địa chỉ của họ được tàng trữ dưới dạng các ký tự chữ-số. Python có nhiều kiểu tài liệu chuẩn được sử dụng để xác lập các hành vi hoàn toàn có thể xảy ra trên chúng và phương pháp tàng trữ cho mỗi kiểu .
Python có 5 kiểu tài liệu chuẩn là :

  1. Kiểu Number
  2. Kiểu String
  3. Kiểu List
  4. Kiểu Tuple
  5. Kiểu Dictionary

Ngoài kiểu Number và kiểu String mà có thể bạn đã được làm quen với các ngôn ngữ lập trình khác thì ở trong Python còn xuất hiện thêm ba kiểu dữ liệu đó là List, Tuple và Dictionary.

Bạn đang đọc: List Trong Python – Techacademy

Các Kiểu Dữ Liệu Chuẩn

II. List Trong Python Là Gì

Trong Python list là một dạng tài liệu được cho phép tàng trữ nhiều kiểu tài liệu khác nhau và truy xuất các phần tử bên trong nó trải qua vị trí của phần tử đó trong list. List hoàn toàn có thể được coi là một mảng tuần tự như trong các ngôn từ khác ( như vector trong C + + và ArrayList trong Java ) .
Lists không nhất thiết phải như nhau, điều này khiến nó trở thành 1 công cụ can đảm và mạnh mẽ nhất trong Python. Một list đơn hoàn toàn có thể gồm có các loại Datatypes như Integers, Strings cũng như Objects. Lists hoàn toàn có thể thay đổi được ngay cả sau khi được tạo .
List trong Python được sắp xếp theo thứ tự và có số lượng xác lập. Các phần tử trong list được lập chỉ mục theo một trình tự xác lập và việc lập chỉ mục của list được triển khai với 0 là chỉ số tiên phong. Mỗi yếu tố trong trong list đều có vị trí xác lập trong list, điều này được cho phép sao chép các phần tử trong list, với mỗi phần tử có vị trí và độ an toàn và đáng tin cậy riêng không liên quan gì đến nhau .
 List Trong Python Là Gì

III. Nhập List Trong Python

Hướng dẫn cách nhập list trong python. Bạn sẽ học được cách nhập list trong python ( input list trong python ) bằng chiêu thức sử dụng hàm input ( ) sau bài học kinh nghiệm này .

Nhập list trong python có giới hạn số phần tử

Để nhập list trong python, tất cả chúng ta cũng lặp lại hàm input ( ) với số lần đơn cử bằng cách dùng vòng lặp for giống như ở phần trên .
Tuy nhiên lúc cần chỉ định và số lượng giới hạn số phần tử trong list, tất cả chúng ta buộc phải thêm một bước nhập số phần tử của list đó, trước khi triển khai input list trong python .
Ví dụ, tất cả chúng ta nhập list trong python có số lượng giới hạn phần tử bằng hàm input ( ) và vòng lặp for như sau :

num = int(input("Nhập số phần tử của list : "))
mylist = []
for i in range(num):
   val = input('Nhập giá trị: ')
   mylist.append(val)
print(mylist)

#>> Nhập số phần tử của list : 3
#>> Nhập giá trị: 1
#>> Nhập giá trị: 2
#>> Nhập giá trị: 3
#>> ['1', '2', '3']

Ngoài cách lặp lại hàm input ( ) như trên, tất cả chúng ta cũng hoàn toàn có thể sử dụng một lần nhập duy nhất bằng cách nhập toàn bộ các phần tử của list cách nhau bởi 1 ký tự ngăn cách, thí dụ như thể dấu cách ví dụ điển hình, sau đó dùng giải pháp tách chuỗi và thu về tác dụng dưới dạng list như sau :

mystr = input("Nhập các phần tử của list cách nhau bởi dấu cách: ")
mylist = mystr.split()
print(mylist)

Màn hình nhập tài liệu sẽ như sau :

Nhập các phần tử của list cách nhau bởi dấu cách: 1 2 3 a b c de7
['1', '2', '3', 'a', 'b', 'c', 'de7']

Nhập list trong python không giới hạn số phần tử

Bằng cách sử dụng vòng lặp vô hạn while True có kèm điều kiện kèm theo để dừng, tất cả chúng ta hoàn toàn có thể nhập list trong python mà không số lượng giới hạn số phần tử cần nhập vào .
Ví dụ, tất cả chúng ta nhập một list trong python không số lượng giới hạn số phần tử và sẽ kết thúc quy trình nhập khi bạn nhập vào dòng chữ stop như sau :

mylist = []

print('Nhập "stop" khi muốn dừng')
while True:
    val = input('Nhập dữ liệu: ')
    if val == 'stop':
        print('Kết thúc')
        break
    mylist.append(val)
print(mylist)

Màn hình nhập tài liệu sẽ như sau :

Nhập "stop" khi muốn dừng
Nhập dữ liệu: 1
Nhập dữ liệu: 2
Nhập dữ liệu: a
Nhập dữ liệu: b
Nhập dữ liệu: k8
Nhập dữ liệu: stop
Kết thúc
['1', '2', 'a', 'b', 'k8']

Nhập List Trong Python

IV. Truy Cập Các Phần Tử Của List Trong Python

Truy cập các phần tử của tập hợp List trong Python
Các phần tử trong list hoàn toàn có thể được truy vấn bằng cách sử dụng những chỉ số tương ứng của nó. List là 1 list các phần tử được sắp xếp thứ tự với chỉ số của mỗi phần từ là duy nhất. Do đó, tất cả chúng ta hoàn toàn có thể truy vấn các phần tử trải qua chỉ số của nó .
Trong Python, các chỉ số sẽ được đánh từ trái qua phải mở màn từ giá trị là 0 cho tới độ dài của list – 1. Vì vậy, một một đối tượng người tiêu dùng kiểu List có 5 phần tử sẽ có chỉ số từ 0 tới 4. Và giả dụ tất cả chúng ta muốn truy vấn vào phần tử thứ 3 của list thì tất cả chúng ta phải dùng chỉ số là 2 vì list được đánh số từ 0 .
Một số quan tâm :

  • Chỉ số của danh sách bắt đầu từ 0 cho tới độ dài chuỗi -1
  • Khi chúng ta truy cập một danh sách với chỉ số vượt quá phạm vi của độ dài của nó, chương trình sẽ báo lỗi ‘Index Error’.
  • Tương tự, những chỉ số là số nguyên, do đó, nếu chúng ta sử dụng các kiểu dữ liệu khác cho chỉ số thì chương trình sẽ báo lỗi Type Error.

Ví dụ 4 :

vi_du = [100, 300, "Python", "Javascript"]
print(vi_du[0])
print(vi_du[3])
vi_du2 = ["Python", [100, 200, 300, 400]]
print(vi_du2[0])
print(vi_du2[1][2])

Kết quả :

100
Javascript
Python
300

Trong ví dụ trên, để truy vấn được phần tử thứ 4 của list, tất cả chúng ta cần phải truyền vào giá trị chỉ số là 3. Tương tự, tất cả chúng ta truyền vào chỉ số là 0 để truy vấn phần tử tiên phong trong list .
Cách truy vấn này tựa như như tất cả chúng ta đã sử dụng với các chuỗi ký tự trước kia. Các quy tắc trong truy vấn chuỗi ký tự cũng hoàn toàn có thể được vận dụng với kiểu list List .
Ngoài ra, ở ví dụ trên, trong câu lệnh thứ 6, tất cả chúng ta đã thực thi truy vấn 1 phần tử trong list con, bởi nó cũng là một list và có chỉ số riêng. Vì vậy ở đây tất cả chúng ta có 2 dấu ngoặc vuông [ ] .
Chúng ta cũng hoàn toàn có thể sử dụng các chỉ số có giá trị âm để truy vấn các phần tử của List. Python được cho phép sử dụng chỉ số có giá trị âm cho các phần tử của nó. Chỉ số – 1 tham chiếu đến phần tử sau cuối, – 2 tham chiếu đến phần tử sau cuối thứ hai, …
Truy Cập Các Phần Tử Của List Trong Python
Ví dụ 5 :

vi_du2 = ["Python", [100, 200, 300, 400]]
print(vi_du2[-1])
print(vi_du2[-2])

Kết quả :

[100, 200, 300, 400]
Python

Nhắc lại, tất cả chúng ta không được phép truy vấn chỉ số nằm ngoài list. Nếu không chương trình sẽ báo lỗi ! ! !
Ví dụ 6 :

vi_du = [100, 300, "Python", "Javascript"]
print(vi_du[5])

Kết quả :

Traceback (most recent call last):
  File "e:/Learning/IT/Python/Bai2.py", line 2, in 
    print(vi_du[5])
IndexError: list index out of range

V. Các Hoạt Động Cơ Bản Trên List Trong Python

1. Tính Độ Dài Của Một List Trong Python

Giả sử trong tay bạn có một list dài ngoằng chứa một đống thông tin về thẻ tín dụng thanh toán của bạn, mà bạn không hề biết được mình có bao nhiêu khoản nợ trong đó. Chẳng lẽ lại ngồi đếm ? Techacademy cá với bạn rằng lúc này, bạn sẽ cần dùng tới hàm len ( ) của python để xử lý việc đếm số khoản nợ có trong list này chỉ trong vòng một tích tắc. Thật là sugoi đúng không nào ? Hãy cùng Techacademy khám phá cách tính độ dài của List python với hàm len ( ) trải qua bài học kinh nghiệm này .
Khi cần tính độ dài của một list, ngoài cách tự đếm ( đùa đấy ^ _ ) thì tất cả chúng ta hoàn toàn có thể sử dụng một hàm tích hợp sẵn của python, đó là hàm len ( ) .
Chúng ta tính độ dài của một list ( số phần tử có trong list đó ) bằng hàm len với cú pháp sau đây :

Cú pháp tính độ dài List python bằng hàm len

len (list)

Hàm len cho ra tác dụng là độ dài hoặc số phần tử của đối tượng người tiêu dùng đang xét. Nếu đối tượng người dùng này là list, hàm sẽ cho ra tác dụng là số phần tử có trong list đó .
Chúng ta hãy xem một vài ví dụ sau đây :

len(["Red", "Green", "Blue"])
#>>  3

len([1, 2, 3, 4, 5])
#>>  5

len([10, 20, ["Sun", "Mon", "Fri"], 40])
#>>  4

Cách sử dụng hàm len khá đơn thuần. Cuối cùng bạn hãy thực hành thực tế trực tuyến để sử dụng nó thuần thục hơn .

print(len(["Red", "Green", "Blue"]))

print(len([1, 2, 3, 4, 5]))

print(len([10, 20, ["Sun", "Mon", "Fri"], 40]))

Tính Độ Dài Của Một List Trong Python

2. Chèn Phần Tử Tới List Trong Python

Hướng dẫn tổng thể các cách chèn phần tử vào list python. Bạn sẽ học được các cách chèn phần tử vào list python như chèn một phần tử vào vị trí chỉ định trong list bắt đầu, chèn nhiều phần tử vào vị trí chỉ định trong list khởi đầu, cũng như cách chèn và sửa chữa thay thế nhiều phần tử vào khoanh vùng phạm vi chỉ định trong list khởi đầu, bằng cách sử dụng phương pháp insert ( ) và công dụng cắt ( slice ) list python sau bài học kinh nghiệm này .
Chúng ta có 3 giải pháp để chèn phần tử vào list python như sau :

  • Phương thức insert() : chèn một phần tử vào vị trí chỉ định trong list ban đầu.
  • Cắt (slice) list : Chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu
  • Cắt (slice) list : Thay thế và chèn nhiều phần tử vào phạm vi chỉ định trong list ban đầu

Lại nữa trong trường hợp bạn chỉ muốn thêm chèn phần tử vào cuối một list python, hãy sử dụng các phương pháp khác như append ( ) hay extend ( ) trong bài viết thêm phần tử vào list và tích hợp các list với nhau trong python nhé .

Chèn một phần tử vào vị trí chỉ định trong list ban đầu | phương thức insert()

Phương thức insert ( ) trong python được dùng để chèn một phần tử vào vị trí chỉ định trong list python. Chúng ta sử dụng phương pháp insert ( ) với cú pháp sau đây :

org_list.insert (index, giá trị)

Trong đó :

  • org_list là list ban đầu
  • index là vị trí cần chèn phần tử trong list ban đầu
  • giá trị là giá trị của phần tử cần chèn vào list. Giá trị này có thể là một chuỗi hoặc một số.

Phương thức insert ( ) sẽ chèn giá trị vào vị trí trước phần tử có index được chỉ định trong list khởi đầu .
Ví dụ đơn cử, tất cả chúng ta chèn một chuỗi ký tự vào list python như sau

mylist = ["A", "B", "C"]
mylist.insert(1, "Z")

print(mylist)
#>> ["A", "Z", "B", "C"]

Bạn hoàn toàn có thể thấy ký tự Z đã được chèn vào vị trí đứng trước ký tự B có index bằng 1 .
Trong trường hợp chỉ định giá trị chèn vào là một chuỗi string, thì bản thân chuỗi string đó sẽ được coi như là một phần tử mới và được chèn vào list bắt đầu như sau :

mylist = ["Blue", "Red", "Green"]

# Chèn chuỗi 'White' vào trước phần tử có index bằng 2
mylist.insert(2, "White")
print(mylist)
#>> ['Blue', 'Red', 'White', 'Green']

# Chèn chuỗi 'Black' vào đầu list
mylist.insert(0, "Black")
print(mylist)
#>> ['Black', 'Blue', 'Red', 'White', 'Green']

Nếu bạn muốn lấy từng ký tự trong chuỗi chỉ định và chèn vào list khởi đầu, hãy xem ở phần dưới nhé .
Tương tự với chuỗi, bạn cũng hoàn toàn có thể chèn 1 số ít vào list python bằng cách sử dụng phương pháp insert ( ) như sau :

mynum = [1, 2, 3, 4, 5]
mynum.insert(3, 6)

print(mynum)
#>> [1, 2, 3, 6, 4, 5]


mylist = ["A", "B", "C"]
mylist.insert(1, 3)

print(mylist)
#>> ['A', 3, 'B', 'C']

Lưu ý là với phương pháp insert ( ) tất cả chúng ta chỉ hoàn toàn có thể chèn một phần tử vào list python mà thôi .

Chèn nhiều phần tử vào vị trí chỉ định trong list ban đầu | cắt (slice) list

Bằng cách ứng dụng công dụng cắt ( slice ) list, tất cả chúng ta hoàn toàn có thể chèn nhiều phần tử vào vị trí chỉ định trong list bắt đầu trải qua một list, một tuple hoặc một chuỗi .
Ý tưởng ở đây là tất cả chúng ta sẽ lưu giữ tổng thể các phần tử cần chèn vào trong một tuple, chuỗi, hoặc list, sau đó sử dụng cắt ( slice ) list để cắt một khoanh vùng phạm vi trống ở list bắt đầu, rồi chèn vào đó các phần tử trong tuple, chuỗi, hoặc list chỉ định .
Cú pháp tất cả chúng ta sử dụng sẽ là :

org_list [index : index ] = tuple,string,list

Trong đó org_list là list khởi đầu, index là vị trí cần chèn, và tuple, string, hoặc list dùng để chỉ định các phần tử cần thêm vào list khởi đầu .
Ví dụ đơn cử, tất cả chúng ta chèn nhiều phần tử vào vị trí chỉ định trong list bắt đầu trải qua list như sau :

mynum = list(range(3))
print(mynum)
#>> [0, 1, 2]

mynum[1:1] = [4, 5, 6]
print(mynum)
#>> [0, 4, 5, 6, 1, 2]

Một ví dụ khác khi tất cả chúng ta sử dụng tuple để chèn nhiều phần tử vào vị trí chỉ định trong list bắt đầu .

mylist = ["A", "B", "C"]
mylist[2:2] = ('E', 'F')

print(mylist)
#>> ['A', 'B', 'E', 'F', 'C']

Lưu ý là khi tất cả chúng ta sử dụng chuỗi string để chèn nhiều phần tử vào vị trí chỉ định trong list bắt đầu bằng cắt ( slice ) list, không phải là cả chuỗi đó được thêm vào như một phần tử mới, mà là từng ký tự trong chuỗi được lấy ra và thêm vào list. Ví dụ :

mylist = ["A", "B", "C"]
mylist[2:2] = 'EFG'

print(mylist)
#>> ['A', 'B', 'E', 'F', 'G', 'C']

Bằng cách ứng dụng cắt ( slice ) list, tất cả chúng ta cũng hoàn toàn có thể chèn phần tử vào vị trí ở đầu cuối trong list python như sau :

mylist = ["1", "2", "3"]
length = len(mylist)

mylist[length:length] = ["4", "5"]
print(mylist)
#>> ['1', '2', '3', '4', '5']

Thay thế và chèn nhiều phần tử vào phạm vi chỉ định trong list ban đầu | cắt (slice) list

Một cách sử dụng khác của cắt ( slice ) list, tất cả chúng ta hoàn toàn có thể vừa chèn vừa thay thế sửa chữa nhiều phần tử vào khoanh vùng phạm vi chỉ định trong list bắt đầu trải qua một list, tuple hoặc chuỗi string .
Ý tưởng ở đây là tất cả chúng ta sẽ cắt hàng loạt các phần tử trong một khoanh vùng phạm vi ở list bắt đầu, rồi chèn vào đó các phần tử mới đã được chứa trong tuple, string, list chỉ định .
Cú pháp tất cả chúng ta sử dụng sẽ là :

org_list [start_index : end_index ] = tuple,string,list

Trong đó org_list là list bắt đầu, start_index và end_index là khoanh vùng phạm vi cắt ra và chèn mới phần tử vào trong list bắt đầu. Còn tuple, string, list là để chứa các phần tử mới cần chèn vào .
Ví dụ, tất cả chúng ta sửa chữa thay thế và chèn mới hàng loạt phần tử trong khoanh vùng phạm vi index [ 1 : 3 ] trong list bắt đầu như sau :

mynum = list(range(5))
print(mynum)
#>> [0, 1, 2, 3, 4]

mynum[1:3] = [7, 8, 9]
print(mynum)
#>> [0, 7, 8, 9, 3, 4]

Chúng ta cũng hoàn toàn có thể sử dụng với tuple hoặc chuỗi như sau :

mynum = list(range(5))
print(mynum)
#>> [0, 1, 2, 3, 4]

mynum[1:3] = (7, 8, 9)
print(mynum)
#>> [0, 7, 8, 9, 3, 4]

mynum[1:2] = "ABC"
print(mynum)
#>> [0, 'A', 'B', 'C', 8, 9, 3, 4]

Chèn Phần Tử Vào List Trong Python

3. Cắt List Trong Python

Hướng dẫn cách cắt list trong python. Bạn sẽ học được khái niệm cắt ( slice ) list trong python là gì cũng như các cách cắt list trong python bằng index sau bài học kinh nghiệm này .
Cắt ( slice ) list trong python hay còn gọi là slice list python là thao tác lấy ra các phần tử trong một khoanh vùng phạm vi của list khởi đầu và tạo ra một list mới. Phạm vi cắt được chỉ định trải qua index của phần tử trong python .
Cú pháp cắt ( slice ) list trong python như sau :

org_list [ start_index : end_index : step]


Trong đó ,

  • org_list là list ban đầu
  • start_index : index của phần tử ở vị trí bắt đầu cắt
  • end_index: index của phần tử ở vị trí kết thúc cắt

Lưu ý hiệu quả của phép cắt ( slice ) list python sẽ gồm có phần tử tại vị trí khởi đầu cắt, nhưng KHÔNG gồm có phần tử tại vị trí kết thúc cắt. Trong trường hợp bạn muốn lấy cả phần tử ở vị trí kết thúc cắt, tất cả chúng ta cần chỉ định end_index công thêm 1 đơn vị chức năng để hoàn toàn có thể gồm có cả phần tử đó trong hiệu quả phép cắt .
Ví dụ đơn cử của cắt ( slice ) list trong python như sau :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nums)
#>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

cut_list= nums[0:5]
print(cut_list)
#>> [0, 1, 2, 3, 4]

cut_list2 = nums[3:7]
print(cut_list2)
#>> [3, 4, 5, 6]

Lưu ý là phép cắt ( slice ) list trong python sẽ KHÔNG đổi khác list bắt đầu mà chỉ sao chép các phần tử trong một khoanh vùng phạm vi trong list khởi đầu và tạo ra một list mới .

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#Trước khi cắt
print(nums)
#>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

nums_cut = nums[2:7]
print(nums_cut)
#>>[2, 3, 4, 5, 6]


#Sau khi cắt thì list ban đầu cũng không thay đổi.
print(nums)
#>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Các phương pháp cắt list trong python

+ Cắt ra một phạm vi từ list ban đầu

Bằng cách chỉ định vị trí khởi đầu và vị trí kết thúc cắt bằng index của các phần tử tại các vị trí đó, tất cả chúng ta hoàn toàn có thể cắt ra một khoanh vùng phạm vi từ list python như ví dụ sau đây :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nums[2:5]) 
#>> [2, 3, 4]

print(nums[-5: -2])
#>> [5, 6, 7]

Tương tự bạn cũng hoàn toàn có thể cắt ra khoanh vùng phạm vi từ một list có phần tử là các chuỗi ký tự như sau :

l = ['a','b','c','d','e']
print(l[2:4])
#>> ['c', 'd']

print(l[1:5])
#>> ['b', 'c', 'd', 'e']

Lưu ý là nếu bạn chỉ định vị trí mở màn hoặc kết thúc cắt bằng các giá trị index nằm ngoài khoanh vùng phạm vi index trong list bắt đầu, thì tính năng cắt ( slice ) list cũng chỉ hoàn toàn có thể cắt ra khoanh vùng phạm vi lớn nhất hoàn toàn có thể từ list bắt đầu mà thôi. Ví dụ :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(nums))
#>> 10

newlist = nums[2:100]
print(newlist)
#>> [2, 3, 4, 5, 6, 7, 8, 9]

newlist2 = nums[-80:-3]
print(newlist2)
#>> [0, 1, 2, 3, 4, 5, 6]

+ Cắt ra một phạm vi từ đầu tới giữa list python

Để cắt từ đầu tới giữa list python, tất cả chúng ta lược bỏ start_index khi viết cú pháp cắt list .
Ví dụ như tất cả chúng ta viết [ : 5 ] ví dụ điển hình. Khi đó, python ngầm hiểu vị trí khởi đầu bằng 0 và cắt list tựa như với khi viết [ 0 : 5 ] như ví dụ sau :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
newlist1= nums[0:5]
newlist2= nums[:5]

print(newlist1)
print(newlist2)

Kết quả :

[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]

+ Cắt ra một phạm vi từ giữa tới cuối list python

Để cắt ( slice ) list trong python từ giữa list tới cuối list, tất cả chúng ta lược bỏ end_index khi viết cú pháp cắt list .
Ví dụ như tất cả chúng ta viết [ 5 : ] ví dụ điển hình. Khi đó, python ngầm hiểu vị trí kết thúc bằng số phần tử của list ( hoàn toàn có thể tính bằng hàm len ( ) ) như ví dụ sau :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
newlist3= nums[5:]
newlist4= nums[5:10]
newlist5= nums[5:len(nums)]

print(newlist3)
print(newlist4)
print(newlist5)

Kết quả :

[5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]

+ Cắt (slice) ngược list trong python

Khi chỉ định vị trí mở màn và kết thúc bằng index âm, tất cả chúng ta hoàn toàn có thể cắt ( slice ) ngược một list trong python. Chúng ta sử dụng chiêu thức này để Đảo ngược list trong python .
Ví dụ :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nums[::-1])
#>> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

Chúng ta cũng hoàn toàn có thể nhảy cóc và bỏ lỡ một số ít phần tử khi cắt ngược list bắt đầu như sau :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nums[::-3])
#>> [9, 6, 3, 0]

Chúng ta cũng có cắt ( slice ) ngược list trong python trong một khoanh vùng phạm vi của list bắt đầu như sau :

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nums[8:2:-1]) 
#>> [8, 7, 6, 5, 4, 3]

print(nums[-2:-9:-2])
#>> [8, 6, 4, 2]

Cắt List Trong Python

4. Đảo Ngược List Trong Python

Một tutorial diễn đạt từng bước về 3 cách chính để đảo ngược một list trong Python .
Đảo ngược một list là một thao tác phổ cập trong lập trình Python .
Ví dụ, tưởng tượng bạn có một list gồm các tên người mua đã được sắp xếp mà chương trình của bạn hiển thị theo thứ tự alphabet. Một vài user muốn xem list người mua theo thứ tự ngược lại .
Trong bài viết này, tất cả chúng ta sẽ thấy ba cách khác nhau để đạt được mục tiêu mà không cần tới thư viện của bên thứ ba :

  1. Sử dụng phương thức list.reverse()
  2. Sử dụng mẹo list slicing “[::-1]”
  3. Tạo một iterator đảo ngược với hàm built-in reversed()

Option #1: Reversing a List In-Place With the list.reverse() Method

In-place ở đây nghĩa là sẽ không có list mới được tạo ra. Thay vào đó phương pháp reverse ( ) sẽ trực tiếp đổi khác đối tượng người tiêu dùng list bắt đầu :

>>> mylist = [1, 2, 3, 4, 5]
>>> mylist
[1, 2, 3, 4, 5]

>>> mylist.reverse()
None

>>> mylist
[5, 4, 3, 2, 1]

Như bạn hoàn toàn có thể thấy, việc gọi mylist.reverse ( ) trả về None nhưng lại biến hóa đối tượng người tiêu dùng list khởi đầu. Việc implement đã được lựa chọn kỹ càng bởi các nhà tăng trưởng thư viện chuẩn Python :
The reverse ( ) method modifies the sequence in place for economy of space when reversing a large sequence. To remind users that it operates by side effect, it does not return the reversed sequence .

Option #2: Using the “[::-1]” Slicing Trick to Reverse a Python List

List có một tính năng mê hoặc là slicing. Một trường hợp đặc biệt quan trọng khi slicing một list với “ [ :: – 1 ] ” sẽ tạo ra một list mới đã được đảo ngược :

>>> mylist
[1, 2, 3, 4, 5]

>>> mylist[::-1]
[5, 4, 3, 2, 1]

Đảo ngược list theo cách này tốn bộ nhớ hơn so với cách tiên phong do tại nó tạo ra một shallow copy của list bắt đầu. Tạo ra một shallow copy nghĩa là chỉ có container bị duplicate, còn bản thân các element trong list thì không. Vậy nên, nếu một element trong list bắt đầu bị biến hóa thì shallow copy cũng sẽ bị ảnh hưởng tác động .

Option #3: Creating a Reverse Iterator With the reversed() Built-In Function

Bản thân reversed ( ) không đảo ngược list khởi đầu, cũng chẳng tạo ra một bản copy. Thay vào đó, tất cả chúng ta nhận được một iterator đảo ngược mà từ đó tất cả chúng ta hoàn toàn có thể duyệt qua các element của list theo thứ tự ngược :

>>> mylist = [1, 2, 3, 4, 5]
>>> for item in reversed(mylist):
...     print(item)
5
4
3
2
1
>>> mylist
>>> [1, 2, 3, 4, 5]

Ở bên trên, tất cả chúng ta chỉ lặp qua các element của list theo thứ tự ngược. Vậy làm thế nào để tạo ra một bản copy đảo ngược với hàm reversed ( ) ?

>>> mylist = [1, 2, 3, 4, 5]
>>> list(reversed(mylist))
[5, 4, 3, 2, 1]

Vậy đó ! Kết quả là tất cả chúng ta thu được một shallow copy của list khởi đầu .

Summary

Nếu bạn đang vướng mắc đâu là cách tốt nhất để đảo ngược một list trong Python, câu vấn đáp của tôi sẽ là “ Còn tùy ”. Theo cá thể tôi, tôi thích cách tiếp cận thứ nhất và thứ ba :

  • Phương thức list.reverse() nhanh, rõ ràng. Nếu trong trường hợp của bạn, việc đảo ngược bản thân list ban đầu là chấp nhận được, hãy chọn cách này.
  • Nếu điều đó là không chấp nhận được, hãy sử dụng reversed().

Tôi không thích mẹo list slicing. Cú pháp của nó khá khó hiểu. Tôi tránh sử dụng nó vì nguyên do này .
Chú ý rằng có những cách tiếp cận khác như là tự implement từ đầu hay đảo ngược list sử dụng đệ quy – những cái hay được hỏi trong các buổi phỏng vấn nhưng không thực sự là giải pháp hay so với lập trình Python trong thực tiễn. Đó là nguyên do mà tôi không đề cập đến nó trong tutorial này .

5. So Sánh 2 List Trong Python

Hướng dẫn cách so sánh 2 list trong python. Bạn sẽ học được các cách so sánh 2 list trong python cũng như là cách lấy ra các phần tử giống nhau và khác nhau giữa 2 list trong python sau bài học kinh nghiệm này .
Chúng ta có 4 chiêu thức để so sánh 2 list trong python như sau :

  • Toán tử == và != : Kiểm tra hai list có giống nhau trong Python
  • Toán tử <, <=, >, >= :So sánh lớn nhỏ giữa 2 list trong python
  • Hàm set() python : So sánh 2 list và lấy ra các phần tử giống nhau trong python
  • Hàm set() python : So sánh 2 list và lấy ra các phần tử khác nhau trong python

Chúng ta sẽ cùng tìm hiểu và khám phá các giải pháp này ở dưới đây .

So sánh 2 list trong python

Để so sánh 2 list trong python, tất cả chúng ta sử dụng tới các toán tử so sánh như so sánh bằng hoặc so sánh lớn nhỏ trong python .

+ Kiểm tra hai list có giống nhau trong Python | toán tử == và !=

Để kiểm tra hai list có giống nhau trong Python, tất cả chúng ta sử dụng toán tử so sánh bằng, và nếu như hàng loạt giá trị của các phần tử trong hai list đều giống nhau, giá trị True được trả về. Ví dụ :

print(["Red", "Blue"] == ["Red", "Blue"])
#> True
print(["Red", "Blue"] != ["Red", "Blue"])
#> False
print(["Red", "Blue"] == ["Red", "Blue", "White"])
#> False
print(["Red", "Blue"] != ["Red", "Blue", "White"])
#> True

Tương tự với phép so sánh 2 list có phần tử thuộc kiểu số :

numlist1 = [0,1,2,3]
numlist2 = [0,1,2,3]
numlist3 = [4]

print(numlist1 == numlist2)
#>> True

Lưu ý là khi so sánh 2 list trong python và kiểm tra xem chúng có giống nhau hay không, tất cả chúng ta cần quan tâm tới cả thứ tự của các phần tử trong hai list. Nếu như giá trị các phần tử trong hai list là giống nhưng thứ tự của phần tử trong hai list là khác nhau, hai list này sẽ được coi là khác nhau .

print(["Red", "Blue"] == ["Red", "Blue"])
#> True

print(["Red", "Blue"] == ["Blue", "Red"])
#> False

+ So sánh lớn nhỏ giữa 2 list trong python | toán tử <, <=, >, >=

Khi sử dụng phép so sánh lớn nhỏ để so sánh 2 list trong Python, phần tử tiên phong có giá trị khác nhau trong 2 list sẽ được dùng để so sánh .
Khi đó tùy thuộc vào phần tử trong 2 list thuộc kiểu tài liệu nào phép so sánh 2 list trong python sẽ chuyển thành phép so sánh 2 chuỗi trong python hoặc là phép so sánh 2 số trong python v.v. .
Ví dụ tất cả chúng ta so sánh lớn nhỏ giữa 2 list có phần tử thuộc kiểu chuỗi string như sau :

print(["red", "blue", "green"] > ["red", "blue", "white"])
#> False

Phép so sánh 2 list ở trên thực ra đã chuyển về phép so sánh 2 chuỗi python bằng cách so sánh các điểm mã unicode ( unicode code point ) của hai chuỗi như sau :

print( "green" > "white")
#>> False

Tương tự khi tất cả chúng ta so sánh lớn nhỏ giữa 2 list có phần tử thuộc kiểu số trong python :

numlist1 = [0,1,2,3]
numlist2 = [0,1,5,3]

print(numlist1 <= numlist2)
#>> True

Phép so sánh 2 list ở trên thực ra đã chuyển về phép so sánh 2 số python như sau :

print( 2 <=  5)
#>> True

Lưu ý là nếu phần tử tiên phong có giá trị khác nhau trong 2 list thuộc các kiểu tài liệu khác nhau, thì cũng có năng lực tất cả chúng ta không hề triển khai so sánh chúng được .
Ví dụ :

numlist = [0,1,2,3]
mixlist =  [0,1,'Bob',3]
print(numlist1 <= numlist2)

Do lúc này, phép so sánh 2 list python ở trên sẽ chuyển về phép so sánh giữa string và số ( so sánh 2 với ‘ Bob ’ ) nên lỗi TypeError sẽ bị trả về như sau :

Traceback (most recent call last):
  File "Main.py", line 3, in 
    print(numlist <= mixlist)
TypeError: '<=' not supported between instances of 'int' and 'str'

So sánh 2 list và lấy ra các phần tử giống nhau trong python | hàm set() python

Trong python không có một hàm hay phương pháp nào giúp tất cả chúng ta hoàn toàn có thể so sánh trực tiếp và lấy ra các phần tử giống nhau giữa hai list cả .
Để so sánh 2 list trong python và lấy các phần tử giống nhau, tất cả chúng ta cần chuyển 2 list đã cho về kiểu set ( tập hợp ), sau đó mới tìm ra phần tử giống nhau giữa chúng trải qua phép tìm giao hai tập hợp bằng toán tử và trong python .
Việc chuyển list về kiểu set còn có một tính năng nữa là giúp tất cả chúng ta xóa các phần tử trùng nhau trong list python trước khi đem chúng đi so sánh .
Sau đây, tất cả chúng ta sẽ xem ví dụ đơn cử về so sánh 2 list trong python và lấy các phần tử giống nhau giữa chúng như sau :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,5,3]
l3 = [0,1,'Bob',3]

print( set(l1) & set(l2) )
#>> {0, 1, 3}

print( set(l1) & set(l3) )
#>> {0, 1, 3, 'Bob'}

print(type(set(l1) & set(l3)))
#>> 

Sau khi thu về set hiệu quả chứa các phần tử giống nhau giữa 2 list đã cho, tất cả chúng ta hoàn toàn có thể dùng vòng lặp for để lấy ra các phần tử trong set tác dụng. Lưu ý là do trong set không sống sót index nên thứ tự lấy các phần tử và in ra màn hình hiển thị hoàn toàn có thể khác nhau trong các lần thực thi .

l1 = [0,1,2,3,'Bob']
l2 = [0,1,'Bob',3]

common_s =  set (l1) & set(l2)
for i in common_s:
    print(i)
#>> 0
#>> 1
#>> 3
#>> Bob

Chúng ta cũng hoàn toàn có thể tìm số phần tử trùng nhau giữa 2 list python bằng cách sử dụng hàm len ( ) để đếm số phần tử trong set hiệu quả thu về. Ví dụ :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,'Bob',3]
commmon_count = len( set(l1) & set(l2) )
print(commmon_count)
#>> 4

Bạn cũng có thể chuyển set kết quả về kiểu list và thu về một list mới chứa các phần tử giống nhau trong 2 list ban đầu bằng cách sử dụng thêm hàm set() với hàm list() trong python như ví dụ sau:

l1 = [0,1,2,3,'Bob']
l2 = [0,1,'Bob',3]

common_l = list( set (l1) & set(l2) )

print(common_l[2])
#>> Bob

Tương tự khi so sánh 2 list, bạn cũng hoàn toàn có thể so sánh 3 list hay nhiều list với nhau và tìm ra các phần tử giống nhau trong python như sau :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,5,3]
l3 = [0,1,'Bob',3]
l1_l2_l3 = set(l1) & set(l2) & set(l3)
print(l1_l2_l3)
#>> {0, 1, 3}

So sánh 2 list và lấy ra các phần tử khác nhau trong python | hàm set() python

Trong python không có một hàm hay phương pháp nào giúp tất cả chúng ta hoàn toàn có thể so sánh trực tiếp và lấy ra các phần tử khác nhau giữa hai list cả .
Để so sánh 2 list trong python và lấy các phần tử khác nhau, tất cả chúng ta cần chuyển 2 list đã cho về kiểu set ( tập hợp ), sau đó mới tìm ra phần tử khác nhau giữa chúng trải qua phép tìm phần bù giữa hai tập hợp bằng toán tử ^ trong python .
Việc chuyển list về kiểu set còn có một công dụng nữa là giúp tất cả chúng ta xóa các phần tử trùng nhau trong list python trước khi đem chúng đi so sánh .
Sau đây, tất cả chúng ta sẽ xem ví dụ đơn cử về so sánh 2 list trong python và lấy các phần tử khác nhau giữa chúng như sau :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,5,3]
l3 = [0,1,'Bob',4]

print( set(l1) ^ set(l2) )
#>> {2, 5, 'Bob'}

print( set(l1) ^ set(l3) )
#>> {2, 3, 4}

print(type(set(l1) ^ set(l3)))
#>> 

Sau khi thu về set tác dụng chứa các phần tử khác nhau giữa 2 list đã cho, tất cả chúng ta hoàn toàn có thể dùng vòng lặp for để lấy ra các phần tử trong set hiệu quả. Lưu ý là do trong set không sống sót index nên thứ tự lấy các phần tử và in ra màn hình hiển thị hoàn toàn có thể khác nhau trong các lần thực thi .

l1 = [0,1,2,3,'Bob']
l2 = [0,1,'Bob',4]

common_s =  set (l1) ^ set(l2)
for i in common_s:
    print(i)
#>> 2
#>> 3
#>> 4

Chúng ta cũng hoàn toàn có thể tìm số phần tử khác nhau giữa 2 list python bằng cách sử dụng hàm len ( ) để đếm số phần tử trong set hiệu quả thu về .
Ví dụ :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,5,3]
commmon_count = len( set(l1) ^ set(l2) )
print(commmon_count)
#>> 3

Bạn cũng hoàn toàn có thể chuyển set tác dụng về kiểu list và thu về một list mới chứa các phần tử khác nhau trong 2 list khởi đầu bằng cách sử dụng thêm hàm set ( ) với hàm list ( ) trong python như ví dụ sau :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,5,3]
commmon_count = len( set(l1) ^ set(l2) )
print(commmon_count)
#>> 3

Bạn cũng hoàn toàn có thể chuyển set tác dụng về kiểu list và thu về một list mới chứa các phần tử khác nhau trong 2 list bắt đầu bằng cách sử dụng thêm hàm set ( ) với hàm list ( ) trong python như ví dụ sau :

l1 = [0,1,2,3,'Bob']
l2 = [0,1,'Bob',4]

common_l = list( set (l1) ^ set(l2) )

print(common_l[2])
#>> 4

So Sánh 2 List Trong Python

6. Xóa List Trong Python

Có một số ít giải pháp để xóa các phần tử khỏi một list như sau :

+ Xóa phần tử bằng phương thức remove()

fruits = ["apple", "banana", "guava"];
fruits.remove("banana")
print(fruits);

Kết quả :

['apple', 'guava']

+ Xóa phần tử bằng phương thức pop()

Phương thức pop ( ) xóa phần tử ở đầu cuối của list :

fruits = ["apple", "banana", "guava"];
fruits.pop();
print(fruits);

Kết quả :

['apple', 'banana']

+ Xóa phần tử bằng lệnh del

Lệnh del được sử dụng để xóa phần tử có chỉ mục đơn cử :

fruits = ["apple", "banana", "guava"];
del fruits[0]
print(fruits);

Kết quả :

['banana', 'guava']

+ Xóa phần tử bằng phương thức clear()

fruits = ["apple", "banana", "guava"];
fruits.clear()
print(fruits);

Kết quả :

[]

Xóa List Trong Python

7. Sắp Xếp List Trong Python

+ Sắp xếp List tăng dần trong Python

Trong Python, kiểu List được kiến thiết xây dựng sẵn một phương pháp sort ( ) để sắp xếp các phần tử trong List theo chiều tăng dẫn ( mặc định của phương pháp ) .
Ví dụ dưới đây sử dụng phương pháp sort ( ) để sắp xếp một List gồm các phần tử mang kiểu số nguyên, sắp xếp theo chiều tăng dần như sau :

# Khai bao list gom cac phan tu so nguyen
listA = [8, 1, 5, 9, 5, 2, 3, 7, 2]
# Sap xep list theo chieu tang dan
listA.sort()
# Hien thi list sau khi sap xep
print(listA)

Kết quả :

[1, 2, 2, 3, 5, 5, 7, 8, 9]

Ví dụ tiếp theo, sử dụng phương pháp sort ( ) để sắp xếp các phần tử mang kiểu chuỗi ký tự theo bảng vần âm như sau :

# Khai bao list gom cac phan tu chuoi ky tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]
# Sap xep list theo bang chu cai 
listA.sort()
# Hien thi list sau khi sap xep
print(listA)

Kết quả :

[‘may bay’, ‘oto’, ‘tau dien’, ‘xe dap’, ‘xe may’]

+ Sắp xếp List giảm dần trong Python

Việc sắp xếp một List theo chiều giảm dần cũng được triển khai thộng qua phương pháp sort ( ) có sẵn trong Python. Trong trường hợp cần sắp xếp List giảm dần, ta cần truyền vào phương pháp sort ( ) tham số reverse = True
Ví dụ dưới đây, sử dụng sort ( ) truyền vào tham số reverse = True để sắp xếp một List gồm có các phần tử có kiểu tài liệu số nguyên theo chiều giảm dần như sau :

# Khai bao list gom cac phan tu so nguyen
listA = [8, 1, 5, 9, 5, 2, 3, 7, 2]
# Sap xep list theo chieu giam dan
listA.sort(reverse = True)
# Hien thi list sau khi sap xep
print(listA)

Kết quả :

[9, 8, 7, 5, 5, 3, 2, 2, 1]

Tương tự với kiểu số, ta cũng hoàn toàn có thể sử dụng phương pháp sort ( ) truyền vào tham số reverse = True để hoàn toàn có thể sắp xếp một List gồm có các chuỗi ký tự theo chiều ngược lại bảng vần âm như sau :

# Khai bao list gom cac phan tu chuoi ky tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]
# Sap xep list nguoc lai  bang chu cai 
listA.sort(reverse = True)
# Hien thi list sau khi sap xep
print(listA)

Kết quả :

[‘xe may’, ‘xe dap’, ‘tau dien’, ‘oto’, ‘may bay’]

Sắp Xếp List Trong Python

8. Lấy 1 Phần Tử Trong List Python

Cùng khám phá index trong python và cách truy vấn phần tử trong list Python trải qua index. Bạn sẽ học được khái niệm index trong python là gì cũng như cách lấy phần tử trong list python trải qua index của phần tử đó sau bài học kinh nghiệm này .

Index trong python là gì

Index trong python là giá trị đại diện thay mặt cho vị trí hoặc số thứ tự của một phần tử trong iterable ( list, chuỗi .. ) chứa nó. Có hai kiểu index là index dương và index âm trong python .
Trong python, mỗi phần tử trong iterable sẽ được đại diện thay mặt bằng một cặp index âm và dương duy nhất biểu lộ vị trí của nó. Bằng cách sử dụng index của phần tử, tất cả chúng ta hoàn toàn có thể truy vấn và lấy giá trị của phần tử đó, hoặc là đổi khác giá trị của nó .

+ Index dương trong python

Index dương trong python là chiêu thức chỉ định index của phần tử theo chiều tăng tiến từ trái qua phải trong iterable. Chúng ta chỉ định index dương của các phần tử bằng một dãy số dương tăng từ 0 và cộng dần một đơn vị chức năng .
Điều đó có nghĩa là phần tử tiên phong trong iterable sẽ có index là 0, sau đó tăng dần 1, 2, 3 … theo thứ tự về phía sau .
Ví dụ index dương của phần tử trong list [ “ TP. Hà Nội ”, “ TP HCM ”, “ Thành Phố Đà Nẵng ” ] như sau :

["Thanh Hóa", "Hà Nội", "Sài Gòn", "Đà Nẵng"]
-----------------------------------------
    0         1           2          3

+ index âm trong python

Ngược với index dương thì index âm trong python là giải pháp chỉ định index của phần tử theo chiều giảm dần từ phải qua trái trong iterable. Chúng ta chỉ định index âm của các phần tử bằng một dãy số âm giảm từ - 1 và trừ dần một đơn vị chức năng .
Điều đó có nghĩa là phần tử sau cuối bên tay phải sẽ có index là - 1, sau đó giảm dần - 1, - 2, - 3 … về phía đầu bên tay trái .
Ví dụ index phần tử trong list [ “ TP.HN ”, “ TP HCM ”, “ TP. Đà Nẵng ” ] như sau :

["Thanh Hóa", "Hà Nội", "Sài Gòn", "Đà Nẵng"]
---------------------------------------------
      -4        -3       -2         -1

Truy cập và lấy phần tử trong list Python bằng index

+ Cú pháp truy cập và lấy phần tử bất kỳ trong list Python

Chúng ta truy vấn và lấy phần tử trong list Python bằng index với cú pháp như sau :

list [index]

Trong đó :

  • list là list mà chúng ta cần truy cập phần tử
  • index là index của phần tử trong list mà chúng ta cần truy cập.

Ví dụ, tất cả chúng ta lấy các phần tử trong list python như sau :

tỉnh = ["Thanh Hóa", "Hà Nội", "Sài Gòn", "Đà Nẵng"]
print(tỉnh[1])
#> Hà Nội

print(tỉnh[2])
#>Sài Gòn

print(tỉnh[-1])
#>Đà Nẵng

+ Truy cập và lấy phần tử cuối cùng của list (danh sách) trong Python

Chúng ta hoàn toàn có thể truy vấn và lấy phần tử ở đầu cuối của list ( list ) trong Python bằng cách chỉ định index của phần tử ở đầu cuối đó .
Có hai cách tìm index của phần tử ở đầu cuối trong list như sau :
1. Tìm index dương của phần tử sau cuối trải qua hàm len ( ) .
Ví dụ, tất cả chúng ta truy vấn và lấy phần tử sau cuối của list như sau :

provin = ["Hà Nội", "Sài Gòn", "Đà Nẵng"]
last_item_index = len(provin) - 1

last_item = provin[last_item_index]

print(last_item)
#>> Đà Nẵng

2. Sử dụng index âm của phần tử ở đầu cuối trong list .
Rất đơn thuần, index âm của phần tử ở đầu cuối trong list luôn luôn bằng - 1, và tất cả chúng ta hoàn toàn có thể lấy giá trị của nó như sau :

provin = ["Hà Nội", "Sài Gòn", "Đà Nẵng"]
last_item=provin[-1]
print(last_item)
#>> Đà Nẵng

+ Lỗi IndexError

Cần quan tâm khi truy vấn và lấy phần tử trong list Python trải qua index, nếu bạn chỉ định một index không sống sót trong list thì sẽ xảy ra lỗi IndexError như sau .

tỉnh = ["Hà Nội", "Sài Gòn", "Đà Nẵng"]
print(tỉnh[3])

#>>Traceback (most recent call last):
#>>  File "", line 2, in 
#>>    print(tỉnh[3])
#>>IndexError: list index out of range

Lỗi này xảy ra, giống như bạn đang cố lấy tiền trong ví mà trong ví lại chả còn đồng nào ấy. Để tránh lỗi này, bạn chỉ nên chỉ định một index sống sót trong list mà thôi .
Lấy 1 Phần Tử Trong List Python

9. Kiểm Tra Sự Tồn Tại Của Một Item Trong List

Sử dụng từ khóa in để kiểm tra sử sống sót của một item trong một list trong Python. Ví dụ :

fruits = ["apple", "banana", "guava"];
x = "banana" in fruits;
if (x == True):
    print("\"banana\" co ton tai trong list");
else:
    print("\"banana\" khong ton tai trong list");

Kết quả :

"banana" co ton tai trong list

Kiểm Tra Sự Tồn Tại Của Một Item Trong List

VI. Chuyển String Sang List Trong Python

Hướng dẫn cách chuyển string sang list trong Python. Bạn sẽ học được toàn bộ các cách chuyển string sang list trong Pythonsau bài học kinh nghiệm này .
Chúng ta có 3 chiêu thức để chuyển string sang list trong Python như sau :

  • Hàm list(): chuyển string sang list trong Python
  • Phương thức split(): tách chuỗi và chuyển string sang list
  • RegEx trong Python: Tách số và ký tự trong chuỗi và chuyển string sang list trong python

Chuyển string sang list trong Python | Hàm list() python

Hàm list() trong python là một hàm tạo (constructor) trong class List và được sử dụng để tạo list từ các giá trị được chỉ định.
Bằng cách chỉ định đối số của hàm list() là một string, chúng ta có thể chuyển string sang list trong Python như ví dụ sau:

mystring =  'cityboy'
mylist= list(mystring)
print(mylist)

#>> ['c', 'i', 't', 'y', 'b', 'o', 'y']

Chúng ta cũng hoàn toàn có thể làm tựa như với các chuỗi chứa số trong nó như sau :

mystring =  'cityboy1968'
mylist= list(mystring)
print(mylist)

#>> ['c', 'i', 't', 'y', 'b', 'o', 'y', '1', '9', '6', '8']

Tách chuỗi chỉ định và chuyển string sang list trong python | Phương thức split()

Đối với các chuỗi mà ký tự trong nó được phân làn bởi dấu phân tách hoặc các ký tự chỉ định, tất cả chúng ta hoàn toàn có thể tách chuỗi này bằng dấu phân tách hoặc ký tự chỉ định đó và thu về hiệu quả dưới dạng một list bằng cách sử dụng phương pháp split ( ) trong Python .
Ví dụ, tất cả chúng ta hoàn toàn có thể sử dụng split ( ) và chuyển string sang list trong python với một chuỗi bắt đầu có các ký tự phân tách nhau bởi dấu cách như sau :

mystring = 'Thứ 6 ngày 25 tháng 6 năm 2021'
mylist = mystring.split()
print(mylist)

#>> ['Thứ', '6', 'ngày', '25', 'tháng', '6', 'năm', '2021']

Hoặc là với một chuỗi có các ký tự được phân tách bởi chuỗi ký tự bất kể, tất cả chúng ta hoàn toàn có thể tách chuỗi khởi đầu bởi chuỗi đó và chuyển string sang list trong python bằng phương pháp split ( ) như sau :

mystring = 'Đỏ và đen và nâu và trắng'
mylist = mystring.split(' và ')
print(mylist)
#>> ['Đỏ', 'đen', 'nâu', 'trắng']

Cách này sẽ đặc biệt quan trọng hữu dụng khi bạn muốn tạo một list từ một chuỗi liệt kê phần tử như trên .

Tách số và ký tự trong chuỗi và chuyển string sang list trong python | RegEx trong Python

Đối với các chuỗi chứa cả số và ký tự trong nó mà tất cả chúng ta muốn tách riêng số và ký tự thành các phần tử trong list python, ví dụ như chuỗi ‘ Năm 2021 ’ thành [ ‘ Năm ’, 2021 ] ví dụ điển hình, tất cả chúng ta hoàn toàn có thể sử dụng tới RegEx trong Python để tách số và ký tự trong chuỗi trước khi nối các hiệu quả thành list trong python .
Ví dụ đơn cử :

import re
mystring = 'Thứ 6 ngày 25 tháng 6 năm 2021'
m = re.findall(r'\d+', mystring)  
m1 = re.sub(r'\d','', mystring).split()

mylist = m + m1
print(m)
print(m1)
print(mylist)

#>> ['6', '25', '6', '2021']
#>> ['Thứ', 'ngày', 'tháng', 'năm']
#>> ['6', '25', '6', '2021', 'Thứ', 'ngày', 'tháng', 'năm']

Một ví dụ khác :

import re
mystring = 'a12b34c1991'
m = re.findall(r'\d+', mystring)  
m1 = re.sub(r'\d','', mystring).split()

mylist = m + m1
print(m)
print(m1)
print(mylist)

#>> ['12', '34', '1991']
#>> ['abc']
#>> ['12', '34', '1991', 'abc']

Phương pháp này sẽ đặc biệt quan trọng hữu dụng khi bạn cần lấy ra các dãy số trong một dải mật mã, hoặc là lấy id Facebook của một người trong một chuỗi ký tự gồm có cả các ký tự làm nhiễu ví dụ điển hình .
Chuyển String Sang List Trong Python

VII. Constructor List() Là Gì

Constructor trong Python là một loại phương pháp ( hàm ) đặc biệt quan trọng được sử dụng để khởi tạo các biểu lộ của lớp. Constructor hoàn toàn có thể có hai loại .

  1. Constructor tham số.
  2. Constructor không tham số.

Định nghĩa contructor được thực thi khi tất cả chúng ta tạo đối tượng người tiêu dùng của lớp này .

Tạo contructor trong Python

Trong python, phương pháp __ init __ mô phỏng contructor của lớp. Phương thức này được gọi khi lớp được khởi tạo. Chúng ta hoàn toàn có thể chuyển bất kể số lượng đối số nào tại thời gian tạo đối tượng người tiêu dùng lớp, tùy thuộc vào định nghĩa __ init __. Nó đa phần được sử dụng để khởi tạo các thuộc tính của lớp. Mỗi lớp phải có một constructor .
Ví dụ sau khởi tạo các thuộc tính của lớp Employee .

class Employee:
 
    def __init__(self, name, id):
        self.id = id;
        self.name = name;
 
    def display (self):
        print("ID: %d \nName: %s" % (self.id, self.name))
 
emp1 = Employee("Vinh", 101)
emp2 = Employee("Trung", 102)
 
# gọi phương thức display() để hiển thị thông tin employee 1
emp1.display();
   
# gọi phương thức display() để hiển thị thông tin employee 2
emp2.display();

Kết quả :

ID: 101 
Name: Vinh
ID: 102 
Name: Trung

Ví dụ: Đếm số lượng đối tượng của một lớp

class Student:
    count = 0
 
    def __init__(self):
        Student.count = Student.count + 1
 
s1 = Student()
s2 = Student()
s3 = Student()
print("Số lượng sinh viên là:", Student.count)

Kết quả :

Số lượng sinh viên là: 3

Ví dụ: constructor không tham số trong Python

class Student:
 
    # Constructor không tham số
    def __init__(self):
        print("Đây là constructor không tham số")
 
    def show(self, name):
        print("Hello", name)
 
student = Student()
student.show("The Mac")

Kết quả :

Đây là constructor không tham số
Hello The Mac

Ví dụ: constructor tham số trong Python

class Student:
 
    # Constructor tham số
    def __init__(self, name):
        print("Đây là constructor tham số.")
        self.name = name
 
    def show(self):
        print("Hello", self.name)
 
student = Student("The Mac")
student.show()

Kết quả :

Đây là constructor tham số.
Hello The Mac

Constructor List() Là Gì

VIII. Các Phương Thức Xử Lý List Trong Python

Python còn kiến thiết xây dựng sẵn rất nhiều hàm và phương pháp để bạn hoàn toàn có thể sử dụng khi thao tác với List. Bảng dưới đây liệt kê các phương pháp này. Bạn truy vấn link để thấy ví dụ chi tiết cụ thể .
Danh sách các hàm giải quyết và xử lý List trong Python :

STT Hàm và Miêu tả
1 Hàm len(list)
Trả về độ dài của list
2 Hàm max(list)
Trả về phần tử có giá trị lớn nhất trong list
3 Hàm min(list)
Trả về phần tử có giá trị nhỏ nhất trong list
4 Hàm list(seq)
Chuyển đổi một tuple thành list

Danh sách các phương pháp giải quyết và xử lý List trong Python :

STT Hàm và Miêu tả
1 Hàm list.append(obj)
Phụ thêm đối tượng obj vào cuối list
2 Hàm list.count(obj)
Đếm xem có bao nhiêu lần mà obj xuất hiện trong list
3 Hàm list.extend(seq)
Phụ thêm các nội dung của seq vào cuối list
4 Hàm list.index(obj)
Trả về chỉ mục thấp nhất trong list mà tại đó obj xuất hiện
5 Hàm list.insert(index, obj)
Chèn đối tượng obj vào trong list tại index đã cho
6 Hàm list.pop(obj=list[-1])
Xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho
7 Hàm list.remove(obj)
Xóa đối tượng obj từ list
8 Hàm list.reverse()
Đảo ngược thứ tự các đối tượng trong list
9 Hàm list.sort([func])
Sắp xếp các đối tượng của list, sử dụng hàm so sánh nếu được cung cấp

Các Phương Thức Xử Lý List Trong Python

IX. Bài Tập List Trong Python

List trong Python là cấu trúc tài liệu mà có năng lực lưu giữ các kiểu tài liệu khác nhau .
List trong Python là biến hóa ( mutable ), nghĩa là Python sẽ không tạo một List mới nếu bạn sửa đổi một phần tử trong List .
List là một container mà giữ các đối tượng người tiêu dùng khác nhau trong một thứ tự đã cho. Các hoạt động giải trí khác nhau như chèn hoặc xóa hoàn toàn có thể được triển khai trên List .
Một List hoàn toàn có thể được tạo ra bởi tàng trữ một dãy các kiểu giá trị khác nhau được phân biệt bởi các dấu phảy. Dưới đây là cú pháp để tạo List :

=[giatri1, giatri2, ..., giatriN];

Ví dụ :

list1 = ['vatly', 'hoahoc', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

Một List trong Python được bao xung quanh bởi các dấu ngoặc vuông [ ] .
Tương tự như chỉ mục của chuỗi, chỉ mục của List mở màn từ 0 .
Truy cập các giá trị trong List trong Python
Để truy vấn các giá trị trong List, bạn sử dụng cú pháp sau :

[index]

để lấy giá trị có sẵn tại chỉ mục đó .
Ví dụ :

list1 = ['vatly', 'hoahoc', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

Khi code trên được thực thi sẽ cho hiệu quả :

list1[0]:  vatly
list2[1:5]:  [2, 3, 4, 5]

Ghi chú : Trình tổ chức triển khai bộ nhớ nội tại
List không tàng trữ các phần tử một cách trực tiếp tại chỉ mục. Sự thực là một tham chiếu được tàng trữ tại mỗi chỉ mục mà tham chiếu tới đối tượng người dùng được tàng trữ ở đâu đó trong bộ nhớ. Điều này là do một số ít đối tượng người tiêu dùng hoàn toàn có thể lớn hơn 1 số ít đối tượng người dùng khác và cho nên vì thế chúng được tàng trữ tại một vị trí bộ nhớ khác .
Các hoạt động giải trí cơ bản trên List trong Python
Bạn hoàn toàn có thể thực thi các hoạt động giải trí nối với toán tử + hoặc hoạt động giải trí lặp với * như trong các chuỗi. Điểm độc lạ là ở đây nó tạo một List mới, không phải là một chuỗi .
Ví dụ cho nối List :

list1=[10,20]
   list2=[30,40]
   list3=list1+list2
   print list3

Kết quả là :

>>> 
   [10, 20, 30, 40]
   >>>

Ghi chú : Toán tử + ý niệm rằng cả hai toán hạng được truyền cho nó phải là List, nếu không sẽ cho một lỗi như ví dụ sau :

list1=[10,20]
list1+30
print list1

Kết quả là :

Traceback (most recent call last):
  		File "C:/Python27/lis.py", line 2, in 
    		list1+30

Ví dụ cho lặp List :

list1=[10,20]
print list1*1

Kết quả là :

>>> 
[10, 20]
>>>

Cập nhật List trong Python
Bạn hoàn toàn có thể update một hoặc nhiều phần tử của List bởi gán giá trị cho chỉ mục đơn cử đó. Cú pháp :

[index]=

Ví dụ :

list = ['vatly', 'hoahoc', 1997, 2000];

print "Gia tri co san tai chi muc thu 2 : "
print list[2]
list[2] = 2001;
print "Gia tri moi tai chi muc thu 2 : "
print list[2]

Khi code trên được thực thi sẽ cho hiệu quả :

Gia tri co san tai chi muc thu 2 :
1997
Gia tri moi tai chi muc thu 2 :
2001

Phụ thêm phần tử vào cuối một List
Phương thức append ( ) được sử dụng để phụ thêm phần tử vào cuối một List. Cú pháp :

.append(item)

Ví dụ :

list1=[10,"hoang",'z']
print "Cac phan tu cua List la: "
print list1
list1.append(10.45)
print "Cac phan tu cua List sau khi phu them la: "
print list1

Khi code trên được thực thi sẽ cho hiệu quả :

>>> 
Cac phan tu cua List la: 
[10, 'hoang', 'z']
Cac phan tu cua List sau khi phu them la: 
[10, 'hoang', 'z', 10.45]
>>>

Xóa phần tử trong List
Để xóa một phần tử trong List, bạn hoàn toàn có thể sử dụng lệnh del nếu bạn biết đúng mực phần tử nào bạn muốn xóa hoặc sử dụng phương pháp remove ( ) nếu bạn không biết. Ví dụ :

list1 = ['vatly', 'hoahoc', 1997, 2000];

print list1
del list1[2];
print "Cac phan tu cua List sau khi xoa gia tri tai chi muc 2 : "
print list1

Khi code trên được thực thi sẽ cho tác dụng :

['vatly', 'hoahoc', 1997, 2000]
Cac phan tu cua List sau khi xoa gia tri tai chi muc 2 :
['vatly', 'hoahoc', 2000]

Bạn cũng hoàn toàn có thể sử dụng del để xóa tổng thể phần tử từ chi_muc_bat_dau tới chi_muc_ket_thuc như sau :

list1=[10,'hoang',50.8,'a',20,30]
print list1
del list1[0]
print list1
del list1[0:3]
print list1

Khi code trên được thực thi sẽ cho tác dụng :

>>> 
[10, 'hoang', 50.8, 'a', 20, 30]
['hoang', 50.8, 'a', 20, 30]
[20, 30]
>>>

Bài Tập List Trong Python
Click to rate this post !

[Total:

0

Average: 0]