Trăn cắt lát

Trong bài học này, bạn sẽ thấy cách truy cập các phần tử riêng lẻ và chuỗi các đối tượng trong danh sách của mình. Các phần tử danh sách có thể được truy cập bằng cách sử dụng một chỉ mục số trong ngoặc vuông

>>>

>>> mylist[m]

Đây là kỹ thuật tương tự được sử dụng để truy cập các ký tự riêng lẻ trong một chuỗi. Lập chỉ mục danh sách cũng dựa trên số không

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range

Các phần tử danh sách cũng có thể được truy cập bằng cách sử dụng chỉ mục danh sách phủ định, được tính từ cuối danh sách

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len[a]]
'spam'
>>> a[-8]
Traceback [most recent call last]:
  File "", line 1, in 
    a[-8]
IndexError: list index out of range

Cắt lát là cú pháp lập chỉ mục trích xuất một phần từ danh sách. Nếu

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
9 là một danh sách, thì
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len[a]]
'spam'
>>> a[-8]
Traceback [most recent call last]:
  File "", line 1, in 
    a[-8]
IndexError: list index out of range
0 trả về phần của
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
9

  • Bắt đầu với tư thế
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    2
  • Tối đa nhưng không bao gồm
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    3
  • Lập chỉ mục tiêu cực cũng có thể được sử dụng

Đây là một ví dụ

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[2:5]
['bacon', 'tomato', 'ham']
>>> a[-5:-2]
['egg', 'bacon', 'tomato']
>>> a[1:4]
['egg', 'bacon', 'tomato']
>>> a[-5:-2] == a[1:4]
True

Bỏ qua chỉ mục đầu tiên và/hoặc cuối cùng

  • Bỏ qua chỉ mục đầu tiên
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    4 bắt đầu lát cắt ở đầu danh sách
  • Việc bỏ qua chỉ mục cuối cùng
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    5 sẽ mở rộng lát cắt từ chỉ mục đầu tiên
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    2 đến cuối danh sách
  • Bỏ qua cả hai chỉ mục
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    7 trả về một bản sao của toàn bộ danh sách, nhưng không giống như một chuỗi, đó là một bản sao, không phải là một tham chiếu đến cùng một đối tượng

Đây là một ví dụ

>>>

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[0:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[2:]
['bacon', 'tomato', 'ham', 'lobster']
>>> a[2:len[a]]
['bacon', 'tomato', 'ham', 'lobster']

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[:]
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a == a[:]
True
>>> a is a[:]
False

>>> s = 'mybacon'
>>> s[:]
'mybacon'
>>> s == s[:]
True
>>> s is s[:]
True

Một bước tiến có thể được thêm vào ký hiệu lát cắt của bạn. Sử dụng một

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len[a]]
'spam'
>>> a[-8]
Traceback [most recent call last]:
  File "", line 1, in 
    a[-8]
IndexError: list index out of range
8 bổ sung và một chỉ số thứ ba chỉ định một sải chân [còn gọi là một bước] trong ký hiệu lát cắt của bạn. Sải bước có thể là tích cực hoặc tiêu cực

>>>

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[0:6:2]
['spam', 'bacon', 'ham']
>>> a[1:6:2]
['egg', 'tomato', 'lobster']
>>> a[6:0:-2]
['lobster', 'tomato', 'egg']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[::-1]
['lobster', 'ham', 'tomato', 'bacon', 'egg', 'spam']

JulianV trên

Đẹp

Orlando Uribe trên

Cảm ơn vì tài liệu này. Tôi đoán có một lỗi đánh máy [??] trong một trong những ví dụ được viết theo bước tiến [ví dụ video là OK]

lỗi đánh máy

>>> a[0:6:-2]
['lobster', 'tomato, 'egg']

phát biểu đúng phải là

>>> a[6:0:-2]
['lobster', 'tomato, 'egg']

nếu không thì,

>>> a[0:6:-2]
[]

Chris Bailey Nhóm RP trên

Xin chào @Orlando Uribe, Bạn nói đúng, tôi sẽ thay đổi nó để phù hợp với bài học trong video. Thanks

Ajay trên

@chris Video rất nhiều thông tin, cảm ơn vì điều này. Khi tôi đang thực hành các ví dụ, có một nghi ngờ

In [43]: a = [9, 1, 2, 4, 5, 6, 8]

In [44]: a[6:0:-2]
Out[44]: [8, 5, 2]

Với sải chân âm tại sao không bao gồm 9

Nó có loại trừ giá trị cuối cùng không?

Chris Bailey Nhóm RP trên

Xin chào @Ajay,

Cảm ơn đã xem khóa học. Lát bạn đã tạo sẽ bắt đầu ở chỉ mục 6 và kết thúc ở chỉ mục 1 và không bao gồm chỉ mục 0, đó là lý do tại sao bạn không nhận được chỉ mục 0 trên 9. Nếu bạn đã sử dụng

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
0

Điều đó sẽ bao gồm chỉ số 0. Tôi hy vọng điều này sẽ giúp giải thích những gì đang xảy ra. Dẫn lại từ văn bản dưới bài học

Cắt lát là cú pháp lập chỉ mục trích xuất một phần từ danh sách. Nếu

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
9 là một danh sách, thì
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len[a]]
'spam'
>>> a[-8]
Traceback [most recent call last]:
  File "", line 1, in 
    a[-8]
IndexError: list index out of range
0 trả về phần của
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
9

  • Bắt đầu với tư thế
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    2
  • Tối đa nhưng không bao gồm
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len[a]]
    'spam'
    >>> a[-8]
    Traceback [most recent call last]:
      File "", line 1, in 
        a[-8]
    IndexError: list index out of range
    
    3

Ajay trên

@chris cảm ơn vì đã làm rõ

kiran trên

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
1

Tại sao nó trả về chuỗi rỗng? . Bạn có thể cho tôi rõ ràng nhất về điều này?

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
2

kiran trên

Giá trị sẽ là

In [43]: a = [9, 1, 2, 4, 5, 6, 8]

In [44]: a[6:0:-2]
Out[44]: [8, 5, 2]
9

Bartosz Zaczyński Nhóm RP trên

Hãy nghĩ về các chỉ số âm như một ký hiệu tốc ký để trừ đi độ dài chuỗi đã cho

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
3

Các chỉ số tiêu cực trong ví dụ “hello world” của bạn sẽ chuyển thành điều này

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
4

Bạn đang nhận được một chuỗi trống vì chỉ số bên trái cao hơn chỉ số bên phải, trong khi bạn chưa chỉ ra thứ tự đảo ngược với đối số "bước" thứ ba. Nếu bạn đã làm, đây là bạn sẽ nhận được

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
5

Bạn có thể lấy các chỉ số kết quả được sử dụng bởi vòng lặp bên dưới như thế này

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
6

Nó trả về một bộ mà bạn có thể giải nén và chuyển đến hàm

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
00

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len[a]-1]
'lobster'
>>> a[6]
Traceback [most recent call last]:
  File "", line 1, in 
    a[6]
IndexError: list index out of range
7

Đây là các chỉ số được sử dụng bởi cú pháp dấu ngoặc vuông

kiran trên

Rực rỡ @Bartosz Zaczyński. Thanks

mo on

Tôi vui vẻ bắt đầu sử dụng bpython; . Thử tất cả mọi thứ. Và nhiều hơn nữa. ] Làm điều đó tôi gặp phải điều này

cắt lát trong Python là gì?

Hàm Python slice[] . Bạn có thể chỉ định nơi bắt đầu cắt lát và nơi kết thúc. Bạn cũng có thể chỉ định bước, bước này cho phép bạn. g. chỉ cắt mọi mục khác. A slice object is used to specify how to slice a sequence. You can specify where to start the slicing, and where to end. You can also specify the step, which allows you to e.g. slice only every other item.

Là gì. Trong cắt lát?

Hãy xem xét danh sách python, Để truy cập một loạt các phần tử trong danh sách, bạn cần cắt danh sách. Một cách để làm điều này là sử dụng toán tử cắt đơn giản i. e. dấu hai chấm[. ] Với toán tử này, người ta có thể chỉ định nơi bắt đầu cắt, nơi kết thúc và chỉ định bước.

Cắt lát và lập chỉ mục Python là gì?

“Lập chỉ mục” có nghĩa là đề cập đến một phần tử của một iterable theo vị trí của nó trong iterable. “Cắt lát” có nghĩa là lấy một tập hợp con các phần tử từ một lần lặp dựa trên các chỉ số của chúng .

Slicing trong câu hỏi phỏng vấn Python là gì?

Câu trả lời. Một chuỗi trong Python là một chuỗi các ký tự chữ và số. .
Câu trả lời. Cắt là một thao tác chuỗi để trích xuất một phần của chuỗi hoặc một phần của danh sách. .
Phương thức slice[] cho phép ba tham số
Câu trả lời. Chỉ mục là một kiểu dữ liệu số nguyên biểu thị một vị trí trong danh sách có thứ tự hoặc một chuỗi

Chủ Đề