Khi cắt trong Python 2 trong [::2 chỉ định 1 điểm là gì?

Cắt một mảng là khái niệm cắt ra – hoặc cắt ra – một phần của mảng. Làm thế nào để bạn làm điều này trong Python?

Nếu bạn thích xem nội dung video để bổ sung cho việc đọc của mình, thì đây cũng là phiên bản video của bài viết này

Mảng là gì?

Mảng là một cấu trúc dữ liệu cho phép bạn lưu trữ nhiều mục có cùng kiểu dữ liệu theo thứ tự trong một biến cùng một lúc. Bạn có thể truy cập từng mục này theo chỉ mục của chúng (vị trí theo thứ tự)

Chúng hơi giống với danh sách trong Python, chỉ là danh sách cho phép bạn lưu trữ nhiều mục thuộc các loại dữ liệu khác nhau. Ngoài ra, trong khi danh sách được tích hợp sẵn, thì mảng không

Cách truy cập các giá trị trong một mảng bằng Python

Đây là cú pháp để tạo một mảng trong Python

import array as arr 

numbers = arr.array(typecode, [values])

Vì kiểu dữ liệu mảng không được tích hợp sẵn trong Python theo mặc định, bạn phải nhập nó từ mô-đun

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
2. Chúng tôi nhập mô-đun này dưới dạng
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
3

Sử dụng phương thức

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
2 của
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
3, chúng ta có thể tạo một mảng bằng cách chỉ định một
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
6 (kiểu dữ liệu của các giá trị) và các giá trị được lưu trữ trong mảng

Đây là bảng hiển thị các loại mã được chấp nhận

TypecodeC TypePython TypeBytes Size'b'signed charint1'B'unsigned charint1'u'wchar_tUnicode character2'h'signed shortint2'H'unsigned shortint2'i'signed intint2'I'unsigned intint2'l'signed longint4'L'unsigned longint4'

Mã đánh máy nhận được từ tài liệu Python

Đây là một mảng ví dụ trong Python

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2

Chúng tôi đã tạo một mảng các giá trị nguyên từ 1 đến 5 tại đây. Chúng tôi cũng đã truy cập giá trị thứ hai bằng cách sử dụng dấu ngoặc vuông và chỉ mục của nó theo thứ tự là 1

Cách cắt một mảng trong Python

Giả sử bạn muốn cắt một phần của mảng này và gán phần đó cho một biến khác. Bạn có thể làm điều đó bằng cách sử dụng dấu hai chấm và dấu ngoặc vuông. Cú pháp trông như thế này

array[start:stop:step]

Chỉ mục

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 chỉ định chỉ mục mà việc cắt lát bắt đầu từ. Mặc định là 0

Chỉ mục

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
8 chỉ định chỉ mục nơi quá trình cắt kết thúc (nhưng không bao gồm giá trị tại chỉ mục này). Mặc định là độ dài của mảng

Đối số

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
9 chỉ định bước cắt. Mặc định là 1

Hãy xem một số ví dụ bao gồm các cách khác nhau trong đó các mảng có thể được cắt

Cách cắt mà không có chỉ mục bắt đầu hoặc kết thúc

Khi bạn cắt mà không có chỉ số

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 hoặc
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
8, về cơ bản bạn sẽ nhận được toàn bộ bản sao của mảng

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])

Như bạn có thể thấy ở đây, chúng ta có một bản sao của mảng

array[start:stop:step]
2

Cũng cần lưu ý rằng hành động cắt không ảnh hưởng đến mảng ban đầu. Với việc cắt, bạn chỉ "sao chép một phần" của mảng ban đầu

Cách cắt với chỉ mục bắt đầu

Ví dụ: nếu bạn muốn cắt một mảng từ một giá trị bắt đầu cụ thể đến cuối mảng, đây là cách thực hiện

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])

Bằng cách chuyển

array[start:stop:step]
3 trong dấu ngoặc vuông, quá trình cắt bắt đầu từ chỉ mục 2 (giữ giá trị 3) cho đến hết mảng, như bạn có thể thấy trong kết quả

Cách cắt với chỉ số kết thúc

Ví dụ: nếu bạn muốn cắt một mảng từ giá trị đầu tiên sang giá trị thứ ba, đây là cách thực hiện

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:3]

print(copy)
# array('i', [1, 2, 3])

Bằng cách chuyển

array[start:stop:step]
4 trong dấu ngoặc vuông, việc cắt bắt đầu từ chỉ mục 0 (theo mặc định, vì không được chỉ định) cho đến chỉ mục thứ ba mà chúng tôi đã chỉ định

Như đã đề cập trước đó, việc cắt loại trừ giá trị ở chỉ mục thứ ba. Vì vậy, trong các kết quả, như bạn tìm thấy trong biến

array[start:stop:step]
5, các giá trị được trả về là từ chỉ số 0 đến chỉ số 2

Cách cắt với chỉ mục bắt đầu và kết thúc

Nếu bạn muốn chỉ định điểm bắt đầu và điểm kết thúc của việc cắt lát thì sao?

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[1:4]

print(copy)
# array('i', [2, 3, 4])

Bằng cách sử dụng một số, sau đó là dấu hai chấm, theo sau là một số trong dấu ngoặc vuông, bạn có thể chỉ định chỉ mục bắt đầu và chỉ mục kết thúc tương ứng

Trong trường hợp của chúng tôi, chúng tôi đã sử dụng 1 và 4 như trong

array[start:stop:step]
6. Từ kết quả, bạn thấy rằng việc cắt lát bắt đầu từ giá trị tại chỉ mục 1 là
array[start:stop:step]
7, cho đến giá trị trước chỉ mục 4, là
array[start:stop:step]
8 (tại chỉ mục 3)

Làm thế nào để cắt với các bước

Khi bạn chỉ định chỉ mục

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 và
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
8 lần lượt là 1 và 5, việc cắt lát sẽ chọn các giá trị tại chỉ mục 1, chỉ mục 2 (1 bước tăng so với chỉ mục trước), chỉ mục 3 (1 bước tăng so với chỉ mục trước đó) và chỉ mục 4 (và một

Trong lần cắt này, bước 1 được sử dụng theo mặc định. Nhưng bạn có thể cung cấp một bước khác. Đây là cách

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[1:4:2]

print(copy)
# array('i', [2, 4])

Bằng cách thêm một dấu hai chấm khác, bạn có thể chỉ định một bước. Vì vậy, chúng tôi có

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
1

Trong ví dụ của chúng tôi, bắt đầu là 1, kết thúc là 4 và bước là 2. Cắt lát bắt đầu từ giá trị tại chỉ mục 1 là 2, sau đó giá trị tiếp theo sẽ là chỉ mục trước đó cộng với bước, là

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
2 bằng 3. Giá trị tại chỉ mục 3 là 4 để được thêm vào lát cắt. Chỉ số tiếp theo sẽ là 5 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
3) nhưng vì 5 vượt quá chỉ số dừng nên nó sẽ không được thêm vào lát cắt

Như bạn có thể thấy trong mã, bản sao được cắt chỉ là 2 và 4

Cách cắt lát với chỉ số bắt đầu và kết thúc âm

Các chỉ số

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 hoặc
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
5 cũng có thể âm. Các chỉ mục phủ định được tính từ cuối mảng. Điều này có nghĩa là chỉ số âm là giá trị cuối cùng trong một mảng

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[-1])
# 5

Bằng cách sử dụng âm 1 ở đây, bạn sẽ thấy rằng 5 được trả về, là từ phần cuối của một mảng

Với biểu thức lát cắt như

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
6, điều này có nghĩa là chỉ số bắt đầu là -3 và chỉ số kết thúc là -1. Hãy xem cách nó hoạt động với mảng của chúng ta

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[-3:-1]

print(copy)
# array('i', [3, 4])

Slice bắt đầu từ chỉ số -3 (là giá trị thứ ba tính từ cuối mảng, tức là 3) và dừng ở chỉ mục -1 (là giá trị cuối cùng trong mảng, tức là 5). Cắt lát không bao gồm giá trị cuối cùng nên chúng tôi có 3 và 4

Kết hợp chỉ số

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 tiêu cực và chỉ số
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
8 tích cực (hoặc ngược lại) sẽ không hiệu quả vì bạn sẽ đi theo các hướng khác nhau cùng một lúc

Làm thế nào để cắt với các bước tiêu cực

Bạn có thể sử dụng các bước âm, có nghĩa là các bước giảm dần để cắt lát. Đây là một ví dụ

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
0

Ở đây, chúng tôi chỉ định bắt đầu chỉ mục 2, không có kết thúc và bước -1. Cắt ở đây sẽ bắt đầu từ chỉ số 2 là 3. Các bước phủ định có nghĩa là giá trị tiếp theo trong lát cắt sẽ có chỉ số nhỏ hơn chỉ mục trước đó 1. Điều này có nghĩa là

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[:]

print(copy)
# array('i', [1, 2, 3, 4, 5])
9 là 1 nên giá trị tại chỉ mục này là 2 sẽ được thêm vào lát cắt

Điều này tiếp tục đảo ngược cho đến khi nó đi đến cuối mảng có chỉ số 0. Mảng được cắt lát dẫn đến các giá trị 3, 2 và 1

import array as arr numbers = arr.array('i', [1, 2, 3, 4, 5]) copy = numbers[2:] print(copy) # array('i', [3, 4, 5]) 0 có nghĩa là gì?

Bạn đã từng thấy biểu thức này ở đâu trong Python trước đây chưa? . không có chỉ số

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 được chỉ định, cũng như chỉ số
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
8, chỉ có một bước âm là -1

Chỉ mục

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
7 mặc định là 0, vì vậy bằng cách sử dụng bước -1, phần cắt sẽ chứa các giá trị tại các chỉ mục sau. -1 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])
4), -2 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])
5), -3 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])
6), -4 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])
7) và -5 (
import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

copy = numbers[2:]

print(copy)
# array('i', [3, 4, 5])
8). Khá nhiều bản sao đảo ngược của mảng

Đây là mã cho nó

import array as arr 

numbers = arr.array('i', [1, 2, 3, 4, 5])

print(numbers[1])
# 2
1

Như bạn có thể thấy, đây là một cách đơn giản để đảo ngược một mảng

kết thúc

Trong bài viết này, chúng ta đã xem xét ngắn gọn cách khai báo mảng trong Python, cách truy cập các giá trị trong một mảng và cả cách cắt – hoặc cắt – một phần của mảng bằng cách sử dụng dấu hai chấm và dấu ngoặc vuông.

Chúng tôi cũng đã học cách cắt lát hoạt động với các bước và chỉ số bắt đầu và dừng tích cực/tiêu cực

Bạn có thể tìm hiểu thêm về mảng tại đây. Hướng dẫn mảng Python – Xác định, Chỉ mục, Phương thức

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Khi cắt trong Python 2 trong [::2 chỉ định 1 điểm là gì?
Dillion Megida

Người ủng hộ nhà phát triển và Người sáng tạo nội dung đam mê chia sẻ kiến ​​thức của tôi về Công nghệ. Tôi đơn giản hóa JavaScript / ReactJS / NodeJS / Frameworks / TypeScript / v.v. Kênh YT của tôi. youtube. com/c/deeecode


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Khi cắt trong Python 2 trong 2 chỉ định điều gì?

Các mục ở khoảng 2 bắt đầu từ chỉ mục cuối cùng được cắt lát. Nếu bạn muốn các mục từ vị trí này sang vị trí khác, bạn có thể đề cập đến chúng từ đầu đến cuối. Các mục từ chỉ số 1 đến 4 được cắt với khoảng cách là 2.

có nghĩa là gì [. 4 có nghĩa là gì trong Python?

Đối với bất kỳ lần lặp nào trong python [-4. ] biểu thị việc lập chỉ mục cho bốn mục cuối cùng của lần lặp đó .

có nghĩa là gì [. 3 có nghĩa là gì trong Python?

Với kiến ​​thức này, [. 3] chỉ có nghĩa là bạn chưa chỉ định bất kỳ chỉ số bắt đầu hoặc kết thúc nào cho lát cắt của mình . Vì bạn đã chỉ định một bước, 3 , điều này sẽ thực hiện mọi mục nhập thứ ba của thứ gì đó bắt đầu từ chỉ mục đầu tiên. Ví dụ. >>> '123123123'[. 3] '111'

có nghĩa là gì [. 1 có nghĩa là gì trong Python?

Khoa học dữ liệu thực tế sử dụng Python . -1]. Các [. -1] đảo ngược thứ tự. Theo cách tương tự, chúng ta có thể cắt các chuỗi như thế này. to display the 1st element to last element in steps of 1 in reverse order, we use the [::-1]. The [::-1] reverses the order. In a similar way, we can slice strings like this.