Chuỗi là một trong những kiểu dữ liệu tích hợp chính bên cạnh số, ánh xạ, tệp, phiên bản và ngoại lệ. Python cung cấp sáu kiểu dữ liệu chuỗi [hoặc tuần tự]
strings
byte sequences
byte arrays
lists
tuples
range objects
Các chuỗi, danh sách, bộ dữ liệu, byte và các đối tượng phạm vi có thể trông giống như những thứ hoàn toàn khác nhau, nhưng chúng vẫn có một số khái niệm cơ bản chung
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]
ĐẦU RA
L S !
truy cập danh sách
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]
ĐẦU RA
Vienna Paris Hamburg
Không giống như các ngôn ngữ lập trình khác, Python sử dụng cùng một cú pháp và tên hàm để hoạt động trên các kiểu dữ liệu tuần tự. Ví dụ: độ dài của chuỗi, danh sách và bộ dữ liệu có thể được xác định bằng hàm có tên len[]
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects
ĐẦU RA
7
________số 8
ĐẦU RA
10
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
byte
Đối tượng byte là một chuỗi các số nguyên nhỏ. Các phần tử của đối tượng byte nằm trong khoảng từ 0 đến 255, tương ứng với các ký tự ASCII và chúng được in như vậy
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
0ĐẦU RA
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
1Danh sách Python
Cho đến nay chúng tôi đã sử dụng một số danh sách và đây là phần giới thiệu thích hợp. Danh sách có liên quan đến mảng của các ngôn ngữ lập trình như C, C++ hoặc Java, nhưng danh sách Python linh hoạt và mạnh mẽ hơn nhiều so với mảng "cổ điển". Ví dụ: không phải tất cả các mục trong danh sách đều cần có cùng loại. Hơn nữa, danh sách có thể phát triển trong một lần chạy chương trình, trong khi ở C, kích thước của một mảng phải được cố định tại thời điểm biên dịch
Nói chung một danh sách là một tập hợp các đối tượng. Để được chính xác hơn. Một danh sách trong Python là một nhóm các mục hoặc phần tử được sắp xếp theo thứ tự. Điều quan trọng cần lưu ý là các phần tử danh sách này không nhất thiết phải cùng loại. Nó có thể là một hỗn hợp tùy ý của các phần tử như số, chuỗi, danh sách khác, v.v. Loại danh sách rất cần thiết cho các tập lệnh và chương trình Python, nói cách khác, bạn sẽ khó tìm thấy bất kỳ mã Python nghiêm túc nào mà không có danh sách
Các thuộc tính chính của danh sách Python
- Họ được lệnh
- Chứa các đối tượng tùy ý
- Các phần tử của một danh sách có thể được truy cập bởi một chỉ số
- Chúng có thể lồng vào nhau tùy ý, tôi. e. chúng có thể chứa các danh sách khác dưới dạng danh sách con
- kích thước thay đổi
- Chúng có thể thay đổi, tôi. e. các phần tử của một danh sách có thể được thay đổi
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
Các khóa học trực tuyến sắp tới
Khái niệm cơ bản về Python cho người mới bắt đầu
Khóa học nâng cao chuyên sâu
Python dành cho kỹ sư và nhà khoa học
Lập trình hướng đối tượng với Python
đăng ký tại đây
Liệt kê ký hiệu và ví dụ
Danh sách các đối tượng được đặt trong dấu ngoặc vuông và được phân tách bằng dấu phẩy. Bảng sau đây chứa một số ví dụ về danh sách
Danh sách Mô tảThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
01Một danh sách trốngThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
02Một danh sách các số nguyênThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
03Một danh sách các kiểu dữ liệu hỗn hợpThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
04Một danh sách các chuỗiThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
05Một danh sách lồng nhauThe items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
06Một danh sách lồng sâuTruy cập các phần tử Danh sách
Gán một danh sách cho một biến
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
2Có nhiều cách khác nhau để truy cập các phần tử của danh sách. Có lẽ cách dễ nhất cho các lập trình viên C là thông qua các chỉ mục, tôi. e. số của danh sách được liệt kê bắt đầu bằng 0
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
3ĐẦU RA
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
4Ví dụ trước về danh sách là danh sách có các phần tử có kiểu dữ liệu bằng nhau. Nhưng như chúng ta đã thấy trước đây, danh sách có thể có nhiều kiểu dữ liệu khác nhau, như trong ví dụ sau
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
5danh sách phụ
Danh sách có thể có danh sách con như các yếu tố. Các danh sách con này cũng có thể chứa các danh sách con, tôi. e. danh sách có thể được xây dựng đệ quy bởi các cấu trúc danh sách con
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
6ĐẦU RA
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
7The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
8ĐẦU RA
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
9text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]0
ĐẦU RA
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]1
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]2
ĐẦU RA
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]3
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]4
ĐẦU RA
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]5
Chúng tôi cũng có thể sử dụng biến
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
07 của mìnhtext = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]6
ĐẦU RA
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]5
Ví dụ tiếp theo hiển thị một danh sách phức tạp hơn với danh sách có cấu trúc sâu
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]8
ĐẦU RA
text = "Lists and Strings can be accessed via indices!" print[text[0], text[10], text[-1]]9
L S !0
ĐẦU RA
L S !1
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
thay đổi danh sách
L S !2
ĐẦU RA
L S !3
L S !4
ĐẦU RA
L S !5
L S !6
ĐẦU RA
L S !7
L S !8
Chúng tôi đi đến một siêu thị ảo. Lấy một giỏ hàng và bắt đầu mua sắm
L S !9
ĐẦU RA
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]0
Với một vòng lặp while
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]1
ĐẦU RA
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]2
bộ dữ liệu
Một tuple là một danh sách bất biến, tôi. e. một tuple không thể thay đổi theo bất kỳ cách nào, một khi nó đã được tạo. Một bộ được định nghĩa tương tự như danh sách, ngoại trừ tập hợp các phần tử được đặt trong dấu ngoặc đơn thay vì dấu ngoặc vuông. Các quy tắc cho các chỉ số giống như cho các danh sách. Khi một bộ đã được tạo, bạn không thể thêm các phần tử vào bộ hoặc xóa các phần tử khỏi bộ
Lợi ích của bộ dữ liệu ở đâu?
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]3
Ví dụ sau đây cho thấy cách xác định một bộ và cách truy cập một bộ. Hơn nữa, chúng ta có thể thấy rằng chúng ta gây ra lỗi, nếu chúng ta cố gắng gán một giá trị mới cho một phần tử của bộ dữ liệu
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]4
ĐẦU RA
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]5
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]6
ĐẦU RA
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]7
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
cắt lát
Trong nhiều ngôn ngữ lập trình, việc cắt một phần của chuỗi có thể khá khó khăn và thậm chí còn khó hơn, nếu bạn muốn xử lý một "phân đoạn con". Python làm cho nó trở nên rất dễ dàng với toán tử lát của nó. Cắt lát thường được triển khai trong các ngôn ngữ khác dưới dạng các hàm có thể có tên như "chuỗi con", "gstr" hoặc "chất nền"
Vì vậy, mỗi khi bạn muốn trích xuất một phần của chuỗi hoặc danh sách trong Python, bạn nên sử dụng toán tử lát cắt. Cú pháp đơn giản. Trên thực tế, nó trông giống như truy cập một phần tử bằng một chỉ mục, nhưng thay vì chỉ một số, chúng tôi có nhiều hơn, được phân tách bằng dấu hai chấm ". ". Chúng tôi có chỉ mục bắt đầu và chỉ mục kết thúc, có thể thiếu một hoặc cả hai chỉ mục. Tốt nhất là nghiên cứu phương thức hoạt động của lát cắt bằng cách xem các ví dụ
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]8
ĐẦU RA
cities = ["Vienna", "London", "Paris", "Berlin", "Zurich", "Hamburg"] print[cities[0]] print[cities[2]] print[cities[-1]]9
Vienna Paris Hamburg0
ĐẦU RA
Vienna Paris Hamburg1
Vienna Paris Hamburg2
ĐẦU RA
Vienna Paris Hamburg3
Về mặt cú pháp, không có sự khác biệt trong danh sách. Chúng tôi sẽ trở lại ví dụ trước với tên thành phố châu Âu
Vienna Paris Hamburg4
ĐẦU RA
Vienna Paris Hamburg5
Bây giờ chúng tôi trích xuất tất cả các thành phố ngoại trừ hai thành phố cuối cùng, tôi. e. "Zurich" và "Hamburg"
Vienna Paris Hamburg6
ĐẦU RA
Vienna Paris Hamburg7
Cắt lát cũng hoạt động với ba đối số. Nếu đối số thứ ba là ví dụ 3, thì chỉ mọi phần tử thứ ba của danh sách, chuỗi hoặc bộ từ phạm vi của hai đối số đầu tiên sẽ được lấy
Nếu s là kiểu dữ liệu tuần tự, thì nó hoạt động như thế này
Vienna Paris Hamburg8
Trình tự kết quả bao gồm các yếu tố sau
Vienna Paris Hamburg9
Trong ví dụ sau, chúng tôi xác định một chuỗi và chúng tôi in mọi ký tự thứ ba của chuỗi này
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects0
ĐẦU RA
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects1
Chuỗi sau, trông giống như một món salad thư, chứa hai câu. Một trong số chúng chứa quảng cáo bí mật về các khóa học Python của tôi ở Canada
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects2
Hãy thử tìm ra câu ẩn bằng Slicing. Giải pháp bao gồm 2 bước
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects3
ĐẦU RA
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects4
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects5
ĐẦU RA
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects6
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects7
ĐẦU RA
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects8
Bạn có thể quan tâm đến cách chúng tôi tạo chuỗi. Bạn phải hiểu hiểu danh sách để hiểu những điều sau đây
countries = ["Germany", "Switzerland", "Austria", "France", "Belgium", "Netherlands", "England"] len[countries] # the length of the list, i.e. the number of objects9
ĐẦU RA
70
Chiều dài
Chiều dài của một dãy, i. e. một danh sách, một chuỗi hoặc một bộ, có thể được xác định bằng hàm len[]. Đối với chuỗi, nó đếm số lượng ký tự và đối với danh sách hoặc bộ dữ liệu, số lượng phần tử được tính, trong khi danh sách con được tính là một phần tử
71
ĐẦU RA
72
73
ĐẦU RA
74
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
nối dãy
Kết hợp hai chuỗi như chuỗi hoặc danh sách dễ dàng như cộng hai số với nhau. Ngay cả ký hiệu toán tử cũng giống nhau. Ví dụ sau đây cho thấy cách nối hai chuỗi thành một
75
ĐẦU RA
76
Nó đơn giản cho danh sách
77
ĐẦU RA
78
Phép gán tăng cường "+=" vốn nổi tiếng với phép gán số học cũng có tác dụng với các dãy
s += t
về mặt cú pháp giống như
s = s + t
Nhưng nó chỉ giống nhau về cú pháp. Việc thực hiện là khác nhau. Trong trường hợp đầu tiên, phía bên trái chỉ được đánh giá một lần. Các phép gán tăng cường có thể được áp dụng cho các đối tượng có thể thay đổi dưới dạng tối ưu hóa
Kiểm tra xem một phần tử có được chứa trong danh sách không
Thật dễ dàng để kiểm tra nếu một mục được chứa trong một chuỗi. Chúng ta có thể sử dụng toán tử "in" hoặc "not in" cho mục đích này. Ví dụ sau đây cho thấy cách áp dụng toán tử này
79
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]0
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]1
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]2
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]3
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]2
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]5
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]0
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]7
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]0
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]9
ĐẦU RA
fib = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] len[fib]2
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
lặp đi lặp lại
Cho đến giờ chúng ta đã có một toán tử "
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
08" cho các dãy. Cũng có toán tử "The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
09". Tất nhiên, không thể có "phép nhân" giữa hai dãy số. "______109" được định nghĩa cho một dãy và một số nguyên, i. e. "s The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
09 n" hoặc "n The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
09 s". Đó là một kiểu viết tắt của phép nối n lần, tôi. estr
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
09 4giống như
str + str + str + str
ví dụ khác
101
ĐẦU RA
102
103
ĐẦU RA
102
105
ĐẦU RA
106
Phép gán tăng cường cho "*" cũng có thể được sử dụng. s *= n cũng giống như s = s * n
Cạm bẫy của sự lặp lại
Trong các ví dụ trước của chúng tôi, chúng tôi đã áp dụng toán tử lặp lại trên các chuỗi và danh sách phẳng. Chúng ta cũng có thể áp dụng nó cho danh sách lồng nhau
107
ĐẦU RA
108
109
ĐẦU RA
The items or elements of strings, lists and tuples are ordered in a defined sequence
The elements can be accessed via indices
00Kết quả này khá bất ngờ đối với những người mới bắt đầu học lập trình Python. Chúng tôi đã gán một giá trị mới cho phần tử đầu tiên của danh sách con đầu tiên của y, i. e. y[0][0] và chúng tôi đã "tự động" thay đổi các phần tử đầu tiên của tất cả các danh sách con trong y, i. e. y[1][0], y[2][0], y[3][0]
Lý do là toán tử lặp "* 4" tạo 4 tham chiếu đến danh sách x. và rõ ràng là mọi phần tử của y đều bị thay đổi, nếu chúng ta áp dụng một giá trị mới cho y[0][0]