Làm thế nào để bạn sử dụng các chỉ mục trong python?

❮ Liệt kê các phương thức

Thí dụ

Vị trí của giá trị "anh đào" là gì

trái cây = ['táo', 'chuối', 'anh đào']

x = trái cây. chỉ số ["anh đào"]

Tự mình thử »

Định nghĩa và cách sử dụng

Phương thức

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
03 trả về vị trí ở lần xuất hiện đầu tiên của giá trị đã chỉ định

cú pháp

Giá trị tham số

Tham sốMô tảelmntBắt buộc. Bất kỳ loại nào [chuỗi, số, danh sách, v.v. ]. Phần tử cần tìm

Thêm ví dụ

Thí dụ

Vị trí của giá trị 32 là gì

trái cây = [4, 55, 64, 32, 16, 32]

x = trái cây. chỉ số[32]

Tự mình thử »

Ghi chú. Phương thức

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
03 chỉ trả về lần xuất hiện đầu tiên của giá trị

❮ Liệt kê các phương thức


Danh sách được cho là loại hữu ích và phổ biến nhất trong Python. Một trong những lý do nó rất tiện dụng là ký hiệu lát Python. Tóm lại, cắt lát là một công cụ linh hoạt để tạo danh sách mới từ danh sách hiện có

Python hỗ trợ ký hiệu lát cho bất kỳ loại dữ liệu tuần tự nào như danh sách, chuỗi, bộ dữ liệu, byte, mảng phụ và phạm vi. Ngoài ra, bất kỳ cấu trúc dữ liệu mới nào cũng có thể thêm hỗ trợ của nó. Điều này được sử dụng rất nhiều [và bị lạm dụng] trong các thư viện NumPy và Pandas, vốn rất phổ biến trong Machine Learning và Data Science. Đó là một ví dụ điển hình về “học một lần, dùng mọi nơi”

Trong bài viết này, chúng tôi sẽ tập trung vào các hoạt động lập chỉ mục và cắt trên danh sách của Python. Hầu hết các ví dụ mà chúng ta sẽ thảo luận đều có thể được sử dụng cho bất kỳ kiểu dữ liệu tuần tự nào. Chỉ các thao tác gán và xóa có thể thay đổi không áp dụng được cho các loại trình tự bất biến như bộ dữ liệu, chuỗi, byte và phạm vi

Nội dung ẩn

1 Lập chỉ mục

1. 1 Chỉ số phủ định

1. 2 Bài tập

1. 3 Xóa

1. 4 Lập chỉ mục cho các loại tuần tự khác

2 Ký hiệu lát cắt

2. 1 Cách sử dụng cơ bản của Slice

2. 2 Lấy n phần tử đầu tiên của danh sách

2. 3 Lấy n phần tử cuối cùng của danh sách

2. 4 Lấy tất cả trừ n phần tử cuối cùng của danh sách

2. 5 Lấy từng phần tử thứ n của danh sách

2. 6 Sử dụng bước phủ định và danh sách đảo ngược

2. 7 Cắt và sao chép

2. 8 Đối tượng lát cắt

2. 9 Chỉ định lát cắt

2. 9. 1 Thay thế một phần của danh sách

2. 9. 2 Thay thế và thay đổi kích thước một phần của danh sách

2. 9. 3 Thay thế mọi phần tử thứ n

2. 10 Xóa lát cắt

3 Tóm tắt

lập chỉ mục

Trước khi thảo luận về ký hiệu lát cắt, chúng ta cần hiểu rõ về lập chỉ mục cho các loại tuần tự

Trong Python, danh sách gần giống với mảng trong các ngôn ngữ kịch bản khác [Ruby, JavaScript, PHP]. Nó cho phép bạn lưu trữ một tập hợp các mục được liệt kê ở một nơi và truy cập một mục theo vị trí của nó – chỉ mục

Hãy lấy một ví dụ đơn giản

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']

Ở đây chúng tôi đã xác định một danh sách các màu. Mỗi mục trong danh sách có một giá trị [tên màu] và một chỉ mục [vị trí của nó trong danh sách]. Python sử dụng lập chỉ mục dựa trên số không. Điều đó có nghĩa là, phần tử đầu tiên [giá trị 'đỏ'] có chỉ số 0, phần tử thứ hai [giá trị 'xanh lá cây'] có chỉ số 1, v.v.

Để truy cập một phần tử theo chỉ mục của nó, chúng ta cần sử dụng dấu ngoặc vuông

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'

chỉ số tiêu cực

Sử dụng lập chỉ mục, chúng ta có thể dễ dàng lấy bất kỳ phần tử nào theo vị trí của nó. Điều này rất hữu ích nếu chúng ta sử dụng vị trí từ đầu danh sách. Nhưng nếu chúng ta muốn lấy phần tử cuối cùng của danh sách thì sao?

Để giải quyết yêu cầu này, có chỉ mục tiêu cực. Vì vậy, thay vì sử dụng các chỉ số từ 0 trở lên, chúng ta có thể sử dụng các chỉ số từ -1 trở xuống

Trong hệ thống lập chỉ mục phủ định -1 tương ứng với phần tử cuối cùng của danh sách [giá trị 'đen'], -2 tương ứng với phần áp chót [giá trị 'trắng'], v.v.

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'

Phân công

Trước đây, chúng tôi chỉ sử dụng lập chỉ mục để truy cập nội dung của ô danh sách. Nhưng cũng có thể thay đổi nội dung ô bằng thao tác gán

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']

Chúng tôi có thể tự do sử dụng lập chỉ mục tích cực hoặc tiêu cực cho nhiệm vụ

xóa

Chúng tôi cũng có thể dễ dàng xóa bất kỳ phần tử nào khỏi danh sách bằng cách sử dụng chỉ mục và câu lệnh

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
3

>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']

Lập chỉ mục cho các loại tuần tự khác

Hoạt động lập chỉ mục chỉ đọc hoạt động hoàn toàn tốt cho tất cả các loại tuần tự. Nhưng các thao tác gán và xóa không áp dụng được cho các loại tuần tự bất biến

ký hiệu lát cắt

Như nó đã được hiển thị, lập chỉ mục cho phép bạn truy cập/thay đổi/xóa chỉ một ô duy nhất của danh sách. Điều gì sẽ xảy ra nếu chúng ta muốn lấy một danh sách con của danh sách. Hoặc chúng tôi muốn cập nhật một loạt các ô cùng một lúc?

Những thủ thuật đó và rất nhiều thủ thuật hay khác có thể được thực hiện với ký hiệu lát cắt. Hãy nhìn vào chủ đề này

Cách sử dụng cơ bản của Slice

Hãy tạo một danh sách cơ bản

>>> nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]

Nếu chúng ta muốn lấy một danh sách con từ danh sách

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
4 thì sao?

________số 8

Vì vậy, đây là ví dụ đầu tiên của chúng ta về một lát cắt. 2. 7. Cú pháp lát cắt đầy đủ là. bắt đầu. dừng lại. bươc.

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 đề cập đến chỉ mục của phần tử được sử dụng làm điểm bắt đầu của lát cắt của chúng tôi.
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 đề cập đến chỉ mục của phần tử mà chúng ta nên dừng ngay trước khi hoàn thành lát cắt của mình.
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 cho phép bạn lấy từng phần tử thứ n ngay từ đầu. phạm vi dừng

Trong ví dụ của chúng tôi,

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 bằng với
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
9, vì vậy lát cắt của chúng tôi bắt đầu từ giá trị
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
0.
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 là
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
2, vì vậy phần tử cuối cùng của lát cắt là
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
3 với chỉ số
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
4. Cuối cùng, lát cắt tạo một danh sách mới [chúng tôi đặt tên là
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
5] với các phần tử được chọn

Chúng tôi đã không sử dụng

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 trong lát cắt của mình, vì vậy chúng tôi đã không bỏ qua bất kỳ phần tử nào và thu được tất cả các giá trị trong phạm vi

Với các lát cắt, chúng ta có thể trích xuất một phần tùy ý của danh sách, e. g

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
1

Ở đây chúng tôi bắt đầu từ phần tử đầu tiên [chỉ số

>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
7] và lấy một danh sách cho đến phần tử có chỉ số
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
8

Lấy n phần tử đầu tiên của một danh sách

Ký hiệu lát cho phép bạn bỏ qua bất kỳ phần tử nào của cú pháp đầy đủ. Nếu chúng ta bỏ qua số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 thì nó bắt đầu từ chỉ số
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
7

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
6

Vì vậy, số [. 5] tương đương với nums[0. 5]. Sự kết hợp này là một phím tắt tiện dụng để lấy n phần tử đầu tiên của danh sách

Lấy n phần tử cuối cùng của một danh sách

Chỉ mục phủ định cho phép chúng ta dễ dàng lấy n phần tử cuối cùng của danh sách

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
7

Ở đây, tham số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 bị bỏ qua. Điều đó có nghĩa là bạn lấy từ vị trí
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5, cho đến cuối danh sách. Chúng tôi bắt đầu từ phần tử thứ ba từ cuối [giá trị
>>> basket = ['bread', 'butter', 'milk']
>>> del basket[0]
>>> basket
['butter', 'milk']
>>> del basket[1]
>>> basket
['butter']
3 với chỉ số
>>> nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
4] và đưa mọi thứ đến cùng

Chúng tôi có thể tự do kết hợp các chỉ số tiêu cực và tích cực ở các vị trí

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 và
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
0

Lấy tất cả trừ n phần tử cuối cùng của danh sách

Một cách sử dụng tốt khác của các chỉ số tiêu cực

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
1

Chúng tôi lấy tất cả trừ hai phần tử cuối cùng của danh sách ban đầu

Lấy mọi phần tử thứ n của danh sách

Nếu chúng ta chỉ muốn có mỗi phần tử thứ 2 của

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
4 thì sao?

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
2

Ở đây chúng tôi bỏ qua các tham số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5/
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 và chỉ sử dụng
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7. Bằng cách cung cấp
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5, chúng tôi có thể bỏ qua một số yếu tố

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
3

Và nếu chúng tôi không muốn bao gồm một số phần tử ở cuối, chúng tôi cũng có thể thêm tham số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
4

Sử dụng bước phủ định và danh sách đảo ngược

Chúng ta có thể sử dụng một

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 phủ định để có được một danh sách đảo ngược

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
5

Phủ định

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 thay đổi một cách, ký hiệu lát cắt hoạt động. Nó làm cho slice được tạo từ phần đuôi của danh sách. Vì vậy, nó đi từ phần tử cuối cùng đến phần tử đầu tiên. Đó là lý do tại sao chúng tôi nhận được một danh sách bị đảo ngược với một bước phủ định

Do đặc thù này,

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 và
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 cũng nên được cung cấp từ phải sang trái. e. g. , nếu bạn muốn có một danh sách đảo ngược bắt đầu từ
>>> nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> some_nums = nums[2:7]
>>> some_nums
[30, 40, 50, 60, 70]
8

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
6

Vì vậy, chúng tôi bắt đầu từ phần tử

>>> nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> some_nums = nums[2:7]
>>> some_nums
[30, 40, 50, 60, 70]
9 [giá trị
>>> nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> some_nums = nums[2:7]
>>> some_nums
[30, 40, 50, 60, 70]
8] và đi từ phải sang trái để thu thập tất cả các phần tử trong danh sách đảo ngược

Chúng ta có thể sử dụng giá trị

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 để ngừng lấy trước một số phần tử. e. g. , không bao gồm các giá trị
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
12 và
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
13

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
7

Chúng tôi sử dụng

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
14 cho chỉ mục
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6, là phần tử có giá trị
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
12. Vì vậy, chúng tôi đi từ 80 đến 30, không bao gồm giá trị
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
12

Có một chút khó hiểu là với một chỉ số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 âm,
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6 nằm trước
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5.
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 tiêu cực làm đảo lộn mọi thứ

Tất nhiên, chúng ta có thể sử dụng một

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 phủ định tùy ý

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
8

Lát và sao chép

Một điều quan trọng cần lưu ý - đó là lát cắt danh sách tạo ra một bản sao nông của danh sách ban đầu. Điều đó có nghĩa là chúng ta có thể sửa đổi danh sách mới một cách an toàn và nó sẽ không ảnh hưởng đến danh sách ban đầu

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
9

Mặc dù chúng ta thay đổi phần tử dưới chỉ số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
9, nhưng nó không ảnh hưởng đến danh sách
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
4, bởi vì danh sách
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
65 – là bản sao một phần của danh sách
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
4

Có dạng ký hiệu lát cắt ngắn nhất - chỉ là dấu hai chấm nums[. ]

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
0

Nó tạo ra một bản sao nông của toàn bộ danh sách và là một tốc ký tốt khi bạn cần một bản sao của danh sách gốc

lát đối tượng

Nhưng điều gì sẽ xảy ra nếu chúng ta muốn sử dụng đi sử dụng lại cùng một lát cắt?. Có cách nào để tạo một đối tượng lát cắt thay vì chỉ sử dụng biểu mẫu cú pháp không?

Điều này có thể được thực hiện bằng hàm

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
67

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
1

Hàm

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
67 chấp nhận các đối số theo cùng thứ tự như trong ký hiệu lát cắt và nếu bạn cần bỏ qua một số phần tử, chỉ cần sử dụng
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
69

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
2

Bài tập cắt lát

Python hỗ trợ thao tác gán lát, cho phép chúng tôi thực hiện một loạt các thao tác gọn gàng trên một danh sách hiện có. Không giống như các thao tác lát cắt trước đây, các thao tác này thay đổi đối tượng ban đầu tại chỗ. Đó là lý do tại sao chúng không thể áp dụng cho các loại tuần tự bất biến

Thay thế một phần của danh sách

Gán lát cho phép bạn cập nhật một phần của danh sách với các giá trị mới

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
3

Ở đây chúng ta không thay đổi số phần tử trong danh sách. Chỉ một số giá trị danh sách được cập nhật

Thay thế và thay đổi kích thước một phần của danh sách

Thay vào đó, chúng ta có thể thay thế một phần của danh sách bằng một đoạn lớn hơn

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
4

Trong trường hợp này, chúng tôi mở rộng danh sách ban đầu

Cũng có thể thay thế một đoạn lớn hơn bằng một số mục nhỏ hơn

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
5

Thay thế mọi phần tử thứ n

Thêm

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 cho phép thay thế từng phần tử thứ n bằng một giá trị mới

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
6

Sử dụng phép gán lát với

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 đặt giới hạn cho danh sách chúng tôi cung cấp cho phép gán. Danh sách được cung cấp phải khớp chính xác với số phần tử cần thay thế. Nếu độ dài không khớp, Python sẽ ném ngoại lệ

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
7

Chúng ta cũng có thể sử dụng phủ định

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
8

Bằng cách cung cấp các giá trị

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
5 và
>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
6, chúng tôi có thể thu hẹp khu vực thay thế

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
9

Xóa lát cắt

Chúng ta cũng có thể sử dụng câu lệnh

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
3 để xóa một lát cắt khỏi danh sách

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
0

Ở đây chúng tôi đã loại bỏ một loạt các yếu tố ở giữa danh sách

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
4

Chúng tôi cũng có thể cung cấp tham số

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
7 để cắt và loại bỏ từng phần tử thứ n

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
1

Với cú pháp đầy đủ, chúng ta có thể đặt ranh giới cho các phần tử cần xóa

>>> basket = ['bread', 'butter', 'milk']
>>> basket[0] = 'cake'
>>> basket
['cake', 'butter', 'milk']
>>> basket[-1] = 'water'
>>> basket
['cake', 'butter', 'water']
2

Vì vậy, chúng tôi bắt đầu xóa từ 20 [chỉ mục 1] và xóa từng phần tử thứ 2 cho đến giá trị 80 [chỉ mục 7]

Và bởi vì việc xóa lát cắt làm biến đổi đối tượng bên dưới, nên nó không áp dụng được cho các kiểu tuần tự bất biến

Bản tóm tắt

Chúng tôi đã thảo luận về hai hoạt động danh sách chính. lập chỉ mục và cắt. Cả hai khái niệm đều rất quan trọng để sử dụng Python hiệu quả

Bài viết này đã chuẩn bị nền tảng để xử lý việc lập chỉ mục và cắt trong các đối tượng

>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
78
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[-1]
'black'
>>> colors[-2]
'white'
>>> colors[-6]
'red'
79 và
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
00
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
01 và
>>> colors = ['red', 'green', 'blue', 'yellow', 'white', 'black']
>>> colors[0]
'red'
>>> colors[1]
'green'
>>> colors[5]
'black'
02. Có rất nhiều điểm tương đồng giữa các cấu trúc này, nhưng cũng có rất nhiều khác biệt tinh tế và các vấn đề sẽ được thảo luận trong các bài viết sắp tới dành riêng cho các kỹ thuật máy học mà nhóm Railsware sử dụng

Nếu bạn vẫn là người mới bắt đầu, đây là danh sách các thư viện và công cụ có thể giúp bạn bắt đầu với Machine Learning và AI

Chủ Đề