Cấu trúc dữ liệu cơ bản nhất trong Python là dãy. Mỗi phần tử của một chuỗi được gán một số - vị trí hoặc chỉ số của nó. Chỉ số đầu tiên bằng 0, chỉ số thứ hai là một, v.v.
Python có sáu loại trình tự tích hợp sẵn, nhưng những loại phổ biến nhất là danh sách và bộ dữ liệu, mà chúng ta sẽ thấy trong hướng dẫn này
Có một số điều bạn có thể làm với tất cả các loại trình tự. Các hoạt động này bao gồm lập chỉ mục, cắt, thêm, nhân và kiểm tra tư cách thành viên. Ngoài ra, Python có các hàm tích hợp để tìm độ dài của một chuỗi và tìm các phần tử lớn nhất và nhỏ nhất của nó
Danh sách Python
Danh sách này là kiểu dữ liệu linh hoạt nhất có sẵn trong Python, có thể được viết dưới dạng danh sách các giá trị [mục] được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không nhất thiết phải cùng loại
Tạo danh sách đơn giản như đặt các giá trị được phân tách bằng dấu phẩy khác nhau giữa các dấu ngoặc vuông. Ví dụ -
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]
Tương tự như chỉ mục chuỗi, chỉ mục danh sách bắt đầu từ 0 và danh sách có thể được cắt, nối, v.v.
Truy cập các giá trị trong danh sách
Để truy cập các giá trị trong danh sách, hãy sử dụng dấu ngoặc vuông để cắt cùng với chỉ mục hoặc các chỉ mục để lấy giá trị có sẵn tại chỉ mục đó. Ví dụ -
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
Cập nhật danh sách
Bạn có thể cập nhật một hoặc nhiều phần tử của danh sách bằng cách đưa lát cắt ở phía bên trái của toán tử gán và bạn có thể thêm vào các phần tử trong danh sách bằng phương thức append[]. Ví dụ -
#!/usr/bin/python list = ['physics', 'chemistry', 1997, 2000]; print "Value available at index 2 : " print list[2] list[2] = 2001; print "New value available at index 2 : " print list[2]
Lưu ý - phương thức append[] được thảo luận trong phần tiếp theo
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
Value available at index 2 : 1997 New value available at index 2 : 2001
Xóa phần tử danh sách
Để xóa một phần tử danh sách, bạn có thể sử dụng câu lệnh del nếu bạn biết chính xác [những] phần tử nào bạn đang xóa hoặc phương thức remove[] nếu bạn không biết. Ví dụ -
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list1
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
Lưu ý - phương thức remove[] được thảo luận trong phần tiếp theo
Hoạt động danh sách cơ bản
Các danh sách phản hồi các toán tử + và * giống như các chuỗi;
Trên thực tế, các danh sách đáp ứng tất cả các thao tác trình tự chung mà chúng ta đã sử dụng trên các chuỗi trong chương trước
Python ExpressionResultsDescriptionlen[[1, 2, 3]]3Length[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]Concatenation['Xin chào. '] * 4['Xin chào. ', 'Xin chào. ', 'Xin chào. ', 'Xin chào. ']Repetition3 in [1, 2, 3]TrueMembershipfor x in [1, 2, 3]. in x,1 2 3Lặp lạiLập chỉ mục, cắt lát và ma trận
Bởi vì danh sách là các chuỗi, lập chỉ mục và cắt hoạt động theo cách tương tự đối với danh sách cũng như đối với chuỗi
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 vị trí ________ 92
- Lên đến nhưng không bao gồm
3>>> 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
- Lập chỉ mục tiêu cực cũng có thể được sử dụng
Đây là một ví dụ
>>>
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]5
Bỏ qua chỉ mục đầu tiên và/hoặc cuối cùng
- Bỏ qua chỉ mục đầu tiên
4 bắt đầu lát cắt ở đầu 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
- Bỏ qua chỉ mục cuối cùng
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>>> 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
- Bỏ qua cả hai chỉ mục
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>>> 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
Đây là một ví dụ
>>>
list1[0]: physics list2[1:5]: [2, 3, 4, 5]0
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 bước tiế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>>>
list1[0]: physics list2[1:5]: [2, 3, 4, 5]2
00. 00 Trong video này, bạn sẽ thực hành lập chỉ mục và cắt danh sách. Các phần tử của một danh sách có thể được truy cập bởi một chỉ số. Để làm điều đó, bạn đặt tên cho danh sách, rồi bên trong một cặp dấu ngoặc vuông, bạn sử dụng một số chỉ mục, giống như những gì tôi đang trình bày ngay tại đây
00. 17 Điều đó cho phép truy cập vào các phần tử riêng lẻ trong danh sách. Việc lập chỉ mục cho danh sách là không dựa trên. Vì vậy, nếu bạn có một danh sách như thế này, với sáu yếu tố này, các chỉ số bắt đầu bằ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
9 và sẽ tăng lên đến #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]50
00. 36 Để tôi bảo bạn thử xem. Bắt đầu với một danh sách mới
00. 47 Đây là
>>> 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. Như đã mô tả, các chỉ mục không dựa trên danh sách, vì vậy #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]52 sẽ truy cập mục đầu tiên trong danh sách đó
01. 03
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]53 sẽ truy cập cái thứ ba. Và trong trường hợp này,
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]54 sẽ truy cập cuối cùng. Một cách khác để đến đó là ________ 89 và ________ 156 [độ dài] của ________ 89 trừ đi _______ 158
01. 18 Nếu bạn sử dụng giá trị chỉ mục quá cao, Python sẽ đưa ra một ngoại lệ—một
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]59 nói rằng chỉ mục danh sách nằm ngoài phạm vi. Lập chỉ mục tiêu cực cũng có sẵn
01. 33 Nếu bạn muốn truy cập mục cuối cùng, bạn sẽ bắt đầu với
list1[0]: physics list2[1:5]: [2, 3, 4, 5]00. Vì vậy, hãy tiếp tục làm việc với danh sách đó
>>> 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 Tôi sẽ yêu cầu bạn thử lập chỉ mục tiêu cực01. 44
list1[0]: physics list2[1:5]: [2, 3, 4, 5]02 sẽ truy cập mục cuối cùng,
list1[0]: physics list2[1:5]: [2, 3, 4, 5]03, v.v. Vì vậy, trong trường hợp này,
list1[0]: physics list2[1:5]: [2, 3, 4, 5]04—cũng là độ dài âm của danh sách của bạn—sẽ trả về mục đầu tiên
02. 05 Nếu bạn cố truy cập vào một chỉ mục nằm ngoài phạm vi, bạn cũng sẽ nhận được
list1[0]: physics list2[1:5]: [2, 3, 4, 5]05 đó. Cắt lát cũng có sẵn. Cắt lát là một cú pháp lập chỉ mục sẽ trích xuất một phần từ danh sách của bạn. Vì vậy, trong ví dụ này, 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à danh sách của bạn, thì bên trong dấu ngoặc vuông, bạn sẽ có hai số chỉ mục được phân tách bằng dấu hai chấ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
8] và nó sẽ trả về một phần của danh sách >>> 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 đó sẽ bắt đầu bằng vị trí >>> 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 và tiếp tục 02. 38 Sử dụng cùng một ví dụ từ trước, nếu bạn lấy
list1[0]: physics list2[1:5]: [2, 3, 4, 5]21, bạn sẽ nhận được ba đối tượng ở giữa, bắt đầu từ chỉ mục
list1[0]: physics list2[1:5]: [2, 3, 4, 5]22 và tăng dần lên chỉ mục
list1[0]: physics list2[1:5]: [2, 3, 4, 5]23, nhưng không bao gồm
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]50
02. 50 Để tôi bảo bạn thử xem. Được rồi, đây là danh sách của bạn. Nếu bạn muốn cắt thì sao? . Đối với chỉ mục thứ hai, sử dụng
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]50. Từ
list1[0]: physics list2[1:5]: [2, 3, 4, 5]22 đến nhưng không bao gồm
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]50
03. 05 tuyệt vời. Bạn cũng có thể sử dụng các chỉ số phủ định, vì vậy bạn có thể nói bắt đầu từ
list1[0]: physics list2[1:5]: [2, 3, 4, 5]29 và đi đến
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list140, điều này giống như đi từ
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]58 đến
list1[0]: physics list2[1:5]: [2, 3, 4, 5]23
03. 19 Và bạn có thể xác nhận rằng tại đây
03. 25 như là
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list143
03. 29 Có sẵn tốc ký. Bằng cách bỏ qua chỉ mục đầu tiên, lát cắt của bạn sẽ bắt đầu ở đầu danh sách và chuyển sang chỉ mục thứ hai. Nếu bạn bỏ qua chỉ mục cuối cùng, nó sẽ mở rộng lát cắt từ chỉ mục đầu tiên và đi đến cuối danh sách. Và nếu bạn bỏ qua cả hai chỉ mục, nó sẽ trả về một bản sao của toàn bộ danh sách
03. 54 Và không giống như một chuỗi, nó là một bản sao—không phải là một tham chiếu đến cùng một đối tượng. Vì vậy, điều gì sẽ xảy ra nếu bạn bỏ qua chỉ mục đầu tiên? . Giống như 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
9 đến list1[0]: physics list2[1:5]: [2, 3, 4, 5]23
04. 12 Và theo cách tương tự, việc loại bỏ chỉ mục thứ hai sẽ đi đến cùng, bắt đầu từ chỉ mục này cho đến hết. Ở đây, bạn có thể sử dụng
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]56, sẽ trả về giá trị là ________ 547 và nếu chúng ta đi từ
list1[0]: physics list2[1:5]: [2, 3, 4, 5]22 trở lên nhưng không bao gồm ________ 547, làm chỉ mục
04. 35 Nếu bạn xóa cả hai chỉ mục và chỉ có một
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]40, nó sẽ trả về toàn bộ danh sách. Bạn có thể thử điều này bằng cách xem liệu nó có bằng với
>>> 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, tức là bằng với #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list143. Nhưng đây là một bản sao và không phải là một tài liệu tham khảo, trong khi nếu bạn đã thử
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]43 thì đó là một bản sao
05. 01 Nó không liên quan đến bản gốc. Điều đó có thể gây nhầm lẫn bởi vì nếu bạn đã từng làm việc với các chuỗi trước đây, nếu bạn có một chuỗi,
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]44, là
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]45, chỉ sử dụng cú pháp của ____ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
05. 20 Điều thú vị về nó không chỉ là
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]47 với chỉ số dấu hai chấm, mà nó còn là một tham chiếu đến đối tượng đó. Trong khi với một danh sách, nó trả về một đối tượng hoàn toàn mới
05. 37 Có thể thêm chỉ mục thứ ba sau dấu hai chấm bổ sung. Chỉ số thứ ba đó biểu thị một bước tiến, nhưng đôi khi nó còn được gọi là một bước. Vì vậy, trong ví dụ này, nếu bạn có một lát cắt đi 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
9 đến #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list147, với một bước là
list1[0]: physics list2[1:5]: [2, 3, 4, 5]22, bạn sẽ trả về các đối tượng ở 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
9, list1[0]: physics list2[1:5]: [2, 3, 4, 5]22 và
list1[0]: physics list2[1:5]: [2, 3, 4, 5]23—
>>> mylist[m]
84, >>> mylist[m]
85 và >>> mylist[m]
8606. 02 Vì vậy, nếu bạn đi từ chỉ số
>>> 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
9 lên đến #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list147 với sải chân là
list1[0]: physics list2[1:5]: [2, 3, 4, 5]22, bạn sẽ thấy nó giành lấy mục thứ nhất, thứ ba và thứ năm, bỏ qua với sải chân là hai
06. 14 Thay vào đó, nếu bạn bắt đầu điều đó tại
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]58, thì bạn sẽ nhận được ba điều còn lại
06. 20 Và có thể có một bước tiến âm, mặc dù bạn đặt chỉ số đầu tiên là giá trị cao nhất, sau đó, nơi bạn muốn tăng lên, 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
9, và trong trường hợp này, nó sẽ tăng lên #!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list140
06. 36 Trên thực tế, một cú pháp đơn giản để đảo ngược danh sách của bạn một cách đơn giản là để trống hai chỉ mục đầu tiên bằng dấu hai chấm, sau đó là dấu hai chấm thứ hai và một
list1[0]: physics list2[1:5]: [2, 3, 4, 5]00—điều này sẽ đảo ngược danh sách của bạn
06. 50 Tiếp theo, bạn sẽ thực hành sử dụng toán tử và một số hàm tích hợp sẵn của Python trong danh sách của bạn
JulianV vào tháng 12. 13, 2019
Tốt đẹp
Orlando Uribe vào ngày 8 tháng 3 năm 2020
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
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list14
phát biểu đúng phải là
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]4
nếu không thì,
>>> mylist[m]
8Chris Bailey Nhóm RP vào ngày 8 tháng 3 năm 2020
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. Cảm ơn
Ajay vào ngày 3 tháng 6 năm 2020
@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ờ
>>> 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
1Vớ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 vào ngày 3 tháng 6 năm 2020
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
9 là một danh sách, thì>>> 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 trả về phần của>>> 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
9>>> 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
- Bắt đầu với vị trí ________ 92
- Lên đến nhưng không bao gồm
3>>> 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
Ajay vào ngày 4 tháng 6 năm 2020
@chris cảm ơn vì đã làm rõ
kiran vào tháng 8. 11, 2020
>>> 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
1Tạ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
2kiran vào tháng 8. 11, 2020
Giá trị sẽ là
>>> 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
19Bartosz Zaczyński Nhóm RP vào tháng 8. 12, 2020
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
3Cá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
4Bạ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
5Bạ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
6Nó 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 vào tháng 8. 12, 2020
Rực rỡ @Bartosz Zaczyński. Cảm ơn
mo vào tháng 12. 21, 2021
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