Video hướng dẫn
Python 3 thay đổi
in(x,y) thay vì in x, y
Video Tổng Hợp
- Có thể "cắt" một danh sách trong Python. Điều này sẽ trả về một phân đoạn cụ thể của một danh sách nhất định. Ví dụ: lệnh myList[2] sẽ trả về mục thứ 3 trong danh sách của bạn (hãy nhớ rằng Python bắt đầu đếm bằng số 0)
- Bạn có thể mở rộng độ dài và thay đổi vị trí của phân đoạn danh sách được trả về bằng dấu hai chấm trong lệnh của mình. Bán tại. myList[2. 5] sẽ trả về các mục từ thứ 3 đến thứ 5 trong danh sách của bạn. Đang gõ myList[. 5] sẽ trả về mọi mục cho đến mục thứ 5 trong danh sách, trong khi myList[2. ] mặt khác, với dấu hai chấm sau chữ số, sẽ trả về mọi mục bắt đầu bằng số thứ 3
- Python cũng có thể trả về một phân đoạn của danh sách đếm từ cuối. Điều này được thực hiện đơn giản bằng cách chèn một số âm trước các chữ số mong muốn trong lệnh lát. Bán tại. myList[-5] sẽ trả lại thứ năm của bạn từ mục cuối cùng
Tìm hiểu thêm
- Như trong hướng dẫn trước, cơ chế lập chỉ mục và cắt lớp phủ định tương tự mở rộng cho các chuỗi. Dưới đây, các chuỗi con khác nhau trong chuỗi 'python' được trả về
Luyện tập
Danh sách này là fox = ['the', 'quick', 'brown', 'fox', 'jumps', 'over']. Làm cách nào để bạn có được ['quick', 'brown', 'fox'] từ danh sách này bằng cách sử dụng tính năng cắt lát?Có rất nhiều cách
>>> fox = ['the', 'quick', 'brown', 'fox', 'jumps', 'over'] >>> fox[1:4] ['quick', 'brown', 'fox'] >>> fox[1:-2] ['quick', 'brown', 'fox'] >>>
Sử dụng cắt lát, làm thế nào bạn có thể nhận được 'nha khoa' từ 'tình cờ'?Một lần nữa, nhiều cách
>>> 'incidentally'[4:10] 'dental' >>> 'incidentally'[4:-2] 'dental' >>> 'traction'[2:10] 'action' >>> 'traction'[2:] 'action' >>>
Khám phá
Hướng dẫn này dạy bạn cách chia nhỏ các lần lặp, chẳng hạn như danh sách trong Python. Lý thuyết được sao lưu với các ví dụ tuyệt vời
Lập chỉ mục Python
Trong Python, bạn có thể truy cập một phần tử trong chuỗi có chỉ mục. Chỉ số này là một số nguyên đại diện cho vị trí của phần tử cụ thể đó
Trong trường hợp bạn không quen với việc lập chỉ mục hoặc lập chỉ mục phủ định, vui lòng đọc phần này trước khi chuyển sang phần cắt lát
Lập chỉ mục dựa trên Zero trong Python
Trong Python, việc lập chỉ mục bắt đầu từ con số không
Điều này có nghĩa là phần tử đầu tiên có chỉ số bằng 0 và phần tử thứ hai có chỉ số bằng một, v.v.
Đây là một minh họa
Cách sử dụng chỉ mục để truy cập các phần tử trong Python
Bây giờ bạn đã biết lập chỉ mục nghĩa là gì, hãy xem cách sử dụng chỉ mục để lấy giá trị từ các chuỗi
Trong Python, bạn có thể truy cập phần tử thứ n của một lần lặp, chẳng hạn như một danh sách, với một chỉ mục. Để thực hiện việc này, hãy sử dụng toán tử dấu ngoặc vuông bằng cách chuyển chỉ mục làm đối số
Chẳng hạn, hãy tạo một danh sách các số và hãy truy cập vào phần tử thứ 2 và thứ 3 của nó
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)đầu ra
100 1000Như bạn có thể thấy, đối số thứ 2 có chỉ số là 1 và đối số thứ 3 có chỉ số là 2
Lập chỉ mục không chỉ giới hạn trong danh sách. Nó cũng hoạt động cho chuỗi và bộ dữ liệu
Dưới đây là các ví dụ
# First letter of a string greeting = "Hello world!" first_letter = greeting[0] print(first_letter) # Prints 'H' # z-cooridnate of a 3D tuple coords = 0, 2, 9 z = coords[2] print(z) # Prints 9Lập chỉ mục tiêu cực trong Python
Python cũng hỗ trợ lập chỉ mục tiêu cực. Cách lập chỉ mục này bắt đầu ở cuối lần lặp, chẳng hạn như danh sách
Không giống như lập chỉ mục (tích cực), lập chỉ mục tiêu cực không bắt đầu từ 0. Thay vào đó, nó bắt đầu từ -1, trong đó -1 là phần tử cuối cùng (phần tử ngoài cùng bên phải). Sau đó -2 là lần cuối cùng thứ hai, v.v.
Đây là một minh họa về lập chỉ mục tiêu cực trong Python
Ví dụ: hãy truy cập phần tử cuối cùng và phần tử đầu tiên của danh sách có chỉ mục phủ định
nums = [10, 100, 1000, 10_000] last = nums[-1] first = nums[-4] print(last, first)đầu ra
10000 10Tương tự như lập chỉ mục tích cực, lập chỉ mục tiêu cực cũng hoạt động với các bộ dữ liệu và danh sách
Ví dụ
# Last letter of a string greeting = "Hello world!" last_letter = greeting[-1] print(last_letter) # Prints '!' # z-cooridnate of a 3D tuple coords = 0, 2, 9 z = coords[-1] print(z) # Prints 9Bây giờ bạn đã hiểu cơ bản về cách lập chỉ mục hoạt động trong Python
Tiếp theo, hãy chuyển sang phần cắt lát, liên quan nhiều đến lập chỉ mục
Cắt lát Iterables trong Python
Cắt lát Python cho phép bạn truy cập một loạt các phần tử từ một lần lặp. Chẳng hạn, bạn có thể lấy ba số đầu tiên từ danh sách các số bằng cách cắt
Cắt lát trong Python dựa trên lập chỉ mục dựa trên số không
Cú pháp của slice như sau
________số 8_______Cú pháp này được gọi là cú pháp lập chỉ mục của việc cắt lát. (Sau này, bạn sẽ học một cú pháp thay thế. )
Ở đâu
- bắt đầu đánh dấu chỉ mục bắt đầu của lát cắt. Mặc định ở đầu danh sách
- điểm dừng đánh dấu sự kết thúc của lát cắt. Đại diện cho giá trị đầu tiên không được chọn cho lát cắt. Mặc định trả lại phần còn lại của danh sách
- stepsize chỉ định có bao nhiêu phần tử để nhảy qua. Mặc định là 1
ví dụ 1. Hãy truy cập các phần tử thứ 2, thứ 3 và thứ 4 của danh sách
Để làm điều này, bạn cần phải
- Bắt đầu cắt từ phần tử thứ 2 (1 chỉ mục)
- Dừng cắt trước phần tử thứ 5 (4 chỉ mục)
- Bước qua 1 giá trị tại một thời điểm
Đây là cách nó trông trong mã
[-1, -2, -3]0đầu ra
[-1, -2, -3]1Vì kích thước bước mặc định là 1 nên bạn không cần viết riêng. Thay vào đó, bạn có thể đã viết nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)9
ví dụ 2. Hãy truy cập ba phần tử đầu tiên của danh sách
Để làm điều này, bạn cần phải
- Bắt đầu cắt từ đầu danh sách
- Dừng cắt trước phần tử thứ 4 (chỉ số 3)
- Bước qua 1 giá trị tại một thời điểm
Nhưng như bạn đã biết, bắt đầu có nghĩa là bắt đầu lại từ đầu theo mặc định. Ngoài ra, kích thước bước là 1 theo mặc định. Vì vậy, chúng ta có thể bỏ qua cả hai
Đây là cách nó trông trong mã
[-1, -2, -3]2đầu ra
[-1, -2, -3]3ví dụ 3. Hãy lấy mọi phần tử thứ ba của danh sách
Để làm điều này
- Bắt đầu cắt từ đầu
- Dừng cắt ở cuối
- Bước qua 3 giá trị
Khi bạn bắt đầu từ đầu và kết thúc ở cuối, bạn không cần chỉ định tham số bắt đầu và dừng. Điều duy nhất còn lại là kích thước bước, cần được đặt 3
Đây là cách nó trông trong mã
[-1, -2, -3]4đầu ra
[-1, -2, -3]5Cắt lát âm trong Python
Trong Python, tương tự như lập chỉ mục phủ định, bạn có thể sử dụng phép cắt phủ định. Điều này có nghĩa là bạn truy cập vào một loạt các giá trị bằng cách sử dụng các chỉ mục phủ định làm tham số bắt đầu và dừng
Phép cắt âm tuân theo cú pháp tương tự như phép cắt dương với các tham số bắt đầu và kết thúc là âm
________số 8_______Nhân tiện, bạn cũng có thể xác định kích thước bước âm để lùi lại khi cắt
ví dụ 1. hãy lấy ba phần tử cuối cùng từ một danh sách
Để làm điều này, bạn cần phải
- Bắt đầu cắt ở phần tử cuối cùng thứ 3 (chỉ số -3)
- Dừng lại ở cuối danh sách
- Bước qua 1 giá trị tại một thời điểm
Điều này có nghĩa là bạn chỉ cần chỉ định tham số bắt đầu ở -3 khi cắt. Điều này làm cho lát bắt đầu từ -3 và tự động đi qua phần còn lại của danh sách
Đây là cách nó trông
[-1, -2, -3]7đầu ra
[-1, -2, -3]8ví dụ 2. Đảo ngược một danh sách các số
Để làm điều này, bạn có thể sử dụng cắt lát
- Bắt đầu từ cuối danh sách
- Dừng ở đầu danh sách
- Lùi lại 1 giá trị tại thời điểm (-1 bước)
Nói cách khác, bạn không cần chỉ định tham số bắt đầu hoặc dừng. Điều duy nhất bạn cần chỉ định là kích thước bước -1 để bắt đầu từ cuối và kết thúc từ đầu
Đây là cách nó trông trong mã
[-1, -2, -3]9đầu ra
iterable[start:stop:stepsize]0Bây giờ bạn đã hiểu cách cắt hoạt động trong Python bằng cách sử dụng cú pháp lập chỉ mục
Ngoài ra, bạn có thể sử dụng các đối tượng lát có sẵn khi cắt lát lặp lại
Cắt đối tượng trong Python
Trong Python, có một loại tích hợp được gọi là slice
Để tạo một đối tượng slice, hãy sử dụng hàm slice() có sẵn với cú pháp sau
iterable[start:stop:stepsize]1Ở đâu
- start là chỉ mục bắt đầu tại đó quá trình cắt bắt đầu. Mặc định là Không có
- stop là chỉ số kết thúc cho đến khi quá trình cắt tiếp tục. Cắt lát dừng tại điểm dừng – 1
- stepsize là số item nhảy qua khi slice. Mặc định là Không có
Điểm của một đối tượng lát là bạn có thể thay thế chỉ mục để cắt (100 10000) bằng 100 10001 để cắt một lần lặp
Hãy quay lại một trong những ví dụ trước, nơi chúng tôi đã truy xuất các phần tử thứ 2, thứ 3 và thứ 4 từ danh sách
[-1, -2, -3]0Ở đây bạn đã sử dụng cú pháp cắt trong đó bạn xác định điểm bắt đầu, điểm dừng và kích thước bước trực tiếp bên trong dấu ngoặc vuông
Bây giờ, thay vì làm theo cách này, hãy sử dụng một đối tượng lát cắt
iterable[start:stop:stepsize]3đầu ra
iterable[start:stop:stepsize]4Như bạn có thể thấy, điều này dẫn đến kết quả chính xác như nhau
Bạn có thể sử dụng một đối tượng lát để cắt danh sách theo bất kỳ cách nào bạn muốn. Nhưng thay vì bỏ qua bắt đầu, dừng hoặc kích thước bước, hãy sử dụng Không có
Ví dụ, hãy đảo ngược một danh sách với một đối tượng slice
iterable[start:stop:stepsize]5đầu ra
iterable[start:stop:stepsize]6Ở đây, 100 10002 hoạt động giống như 100 10003
Khi sử dụng Slicing trong Python
Cắt lát rất hữu ích nếu bạn muốn truy cập, sửa đổi hoặc xóa các phần của một lần lặp
Hãy xem một số ví dụ về từng trường hợp sử dụng
Truy cập các phần tử với Slicing trong Python
Truy cập các phạm vi phần tử bằng cách cắt là trường hợp sử dụng phổ biến để cắt
Trong hướng dẫn này, bạn đã thấy hàng chục ví dụ về cách truy cập các phần của iterables bằng cách cắt
Ví dụ: hãy lấy ba giá trị đầu tiên từ một bộ dữ liệu
iterable[start:stop:stepsize]7đầu ra
iterable[start:stop:stepsize]8Một ứng dụng rất phổ biến để truy cập các lần lặp bằng cách cắt là đảo ngược một lần lặp trong Python
Ví dụ: hãy đảo ngược một chuỗi
iterable[start:stop:stepsize]9đầu ra
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)0Sửa đổi các phần tử với Slicing trong Python
Đôi khi bạn có thể muốn sửa đổi một loạt các mục trong một trình tự. Thay vì sửa đổi các giá trị một cách riêng biệt hoặc sử dụng vòng lặp for, bạn có thể sử dụng tính năng cắt lát
Ví dụ đơn giản, hãy thay thế hai phần tử đầu tiên của danh sách bằng hai phần tử khác
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)1đầu ra
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)2Như một ví dụ nâng cao hơn một chút, hãy biến mọi số thứ hai thành âm trong danh sách các số
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)3đầu ra
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)4Xóa phần tử với Slicing trong Python
Bạn có thể sử dụng cắt lát để loại bỏ các phạm vi mục trong một lần lặp. Để làm điều này, hãy sử dụng câu lệnh del có sẵn trên một lát cắt
Chẳng hạn, hãy xóa mọi phần tử thứ hai trong danh sách
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)5đầu ra
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)6Phần kết luận
Hôm nay bạn đã học cách cắt hoạt động trong Python
Tóm lại, cắt lát có nghĩa là truy cập nhiều phần tử trong một lần lặp cùng một lúc. Cắt lát trả về một chuỗi con của chuỗi gốc