❮ Phương thức chuỗi
Thí dụ
Tách một chuỗi thành một danh sách trong đó mỗi từ là một mục danh sách
txt = "chào mừng đến với khu rừng"
x = txt. tách ra[]
in[x]
Tự mình thử »Định nghĩa và cách sử dụng
Phương thức split[]
tách một chuỗi thành một danh sách
Bạn có thể chỉ định dấu phân cách, dấu phân cách mặc định là bất kỳ khoảng trắng nào
Ghi chú. Khi maxsplit được chỉ định, danh sách sẽ chứa số phần tử đã chỉ định cộng với một
cú pháp
chuỗi. tách [dấu phân cách, maxsplit]
Giá trị tham số
Tham sốMô tảdấu phân cáchTùy chọn. Chỉ định dấu tách để sử dụng khi tách chuỗi. Theo mặc định, mọi khoảng trắng đều là dấu phân cáchmaxsplitOptional. Chỉ định có bao nhiêu phần chia để làm. Giá trị mặc định là -1, là "tất cả các lần xuất hiện"Thêm ví dụ
Thí dụ
Tách chuỗi, sử dụng dấu phẩy, theo sau là khoảng trắng, làm dấu phân tách
txt = "xin chào, tôi tên là Peter, tôi 26 tuổi"
x = txt. tách ra[", "]
in[x]
Tự mình thử »Thí dụ
Sử dụng ký tự băm làm dấu phân cách
txt = "táo#chuối#anh đào#cam"
x = txt. tách ra["#"]
in[x]
Tự mình thử »Thí dụ
Tách chuỗi thành một danh sách có tối đa 2 mục
txt = "táo#chuối#anh đào#cam"
# đặt tham số maxsplit thành 1, sẽ trả về danh sách có 2 phần tử
x = txt. tách ["#", 1]
in[x]
Tự mình thử »❮ Phương thức chuỗi
Có rất nhiều vấn đề trong cuộc sống, khả năng sinh và lập trình viên cũng không ngoại lệ, chúng ta cần phải đối mặt với chuỗi. Chuỗi có thể đến rất nhiều dạng. Chúng ta có thể là văn bản không có cấu trúc [văn bản phi cấu trúc], tên người dùng, mô tả sản phẩm, tên cột và những thứ khác mà chúng ta có thể mô tả bằng ngôn ngữ
Với sự hiện diện gần như ở khắp mọi nơi của string, việc làm chủ các thao tác với string là tối quan trọng. May thay, Python đã làm cho việc thao tác với chuỗi trở nên đơn giản, đặc biệt là khi so sánh với các ngôn ngữ khác và thậm chí là với các phiên bản cũ của Python
Trong bài viết này, bạn sẽ tìm hiểu một thao tác cơ bản nhất với chuỗi. tách, nối và nối. Bạn không những tìm hiểu cách sử dụng những công cụ này mà còn cả cái nhìn sâu rộng về cách thức hoạt động phía sau chúng
tách chuỗi
Trong Python, chuỗi được biểu diễn bởi các đối tượng
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
2. String has any variable [immutable]. điều này có nghĩa là các đối tượng được lưu trong bộ nhớ không thể bị thay đổi. Hai sự thật này có thể giúp bạn tìm hiểu [và sau đó là ghi nhớ] cách sử dụng >>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3Bạn đã đoán được hai đặc tính của chuỗi liên quan thế nào đến tính năng phân tách trong Python chưa? . Ở một số ngôn ngữ khác [như Perl], chuỗi là đầu vào của hàm
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 thay vì một phương thức được gọi bởi chuỗi chính đóGhi chú. Các cách gọi phương thức chuỗi
The method as3 is display at here chủ yếu như là các instance method. Chúng có thể được gọi là phương pháp tĩnh nhưng điều này thực sự không lý tưởng. Ví dụ>>> 'this is my string'.split[] ['this', 'is', 'my', 'string']
# Avoid this: str.split['a,b,c', ',']
Cái này trông có vẻ phức tạp hơn và khó sử dụng hơn theo cách thông thường
# Do this instead: 'a,b,c'.split[',']
Để tìm hiểu thêm về instance, class và static method trong Python, vui lòng click vào đây
Còn đặc tính bất biến của chuỗi thì sao?
Ghi chú. Hoạt động tại chỗ
Các thao tác tại chỗ là các thao tác trực tiếp thay đổi các đối tượng được gọi. Một ví dụ phổ biến được sử dụng là phương pháp7 được sử dụng với danh sách. Khi bạn gọi>>> 'this is my string'.split[] ['this', 'is', 'my', 'string']
7 với một danh sách, danh sách đó sẽ được thay đổi trực tiếp bằng cách thêm một danh sách khác vào>>> 'this is my string'.split[] ['this', 'is', 'my', 'string']
Tách không có tham số
Trước khi tìm hiểu sâu hơn, hãy cùng xem ví dụ sau
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
Đây là một trường hợp đặc biệt của
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3. Khi không truyền vào dấu phân cách, >>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 sẽ coi khoảng trắng [khoảng trắng] là dấu phân cáchMột điểm đặc biệt khác của công việc gọi
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 mà không truyền tham số chính là nó sẽ tự động bỏ qua các khoảng trắng ở đầu và cuối cũng như các khoảng trắng liên tiếp. Hãy so sánh cuộc gọi >>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 trong hai trường hợp có dấu phân cách và không có dấu phân cách>>> s = ' this is my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this is my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
Điều đầu tiên cần chú ý chính là tính bất biến của chuỗi trong Python. Có thể thấy giá trị của chuỗi
>>> s = ' this is my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this is my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
3 không hề bị thay đổiĐiều thứ hai chính là việc gọi hàm
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 mà không có tham số sẽ trích xuất các từ trong câu và loại bỏ các khoảng trắngChỉ định Dấu phân cách
Mặt khác,
>>> s = ' this is my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this is my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
5 tầm thường hơn rất nhiều. Khi có khoảng trắng ở đầu hoặc cuối, bạn sẽ nhận được các chuỗi trống - bạn có thể thấy chúng ở phần tử đầu tiên và cuối cùng của danh sách trả vềCòn khi có nhiều dấu phân cách liên tiếp [ví dụ như giữa "this" với "is" và giữa "is" với "my"], các ký tự đầu tiên sẽ được coi như là dấu phân cách, các ký tự tiếp theo sẽ được trả lại
Ghi chú. Dấu phân cách trong Cuộc gọi đến
3>>> 'this is my string'.split[] ['this', 'is', 'my', 'string']
Khi sử dụng khoảng trắng đơn [ký tự khoảng trắng đơn] làm dấu phân cách, bạn không bị giới hạn bởi kiểu ký tự hoặc chuỗi dài mà bạn sử dụng để làm dấu phân cách. Yêu cầu duy nhất chính là dấu tách phải là chuỗi
Hạn chế chia tách với Maxsplit
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 has an tham số không bắt buộc là >>> s = ' this is my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this is my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
8. Mặc định, >>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 sẽ tạo ra phân lượng tối đa. Tuy nhiên, khi bạn truyền giá trị cho >>> s = ' this is my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this is my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
8, số phân đoạn tối đa chính bằng giá trị này>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
Ghép nối và tham gia các chuỗi
A Phép toán cơ bản khác là chuỗi kết nối
Nối với toán tử +
Có vài cách để thực hiện điều này, tùy theo thứ mà bạn muốn nhận được. Cách đơn giản và biến phổ biến nhất chính là sử dụng toán tử
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
1 để kết nối các chuỗi với nhau>>> 'a' + 'b' + 'c'
'abc'
Tiếp tục, về mặt toán học, bạn có thể nhân một chuỗi để lặp lại nó
>>> 'do' * 2
'dodo'
Hãy nhớ rằng. string has any variable. Nếu bạn kết nối hoặc nhân một chuỗi được lưu bởi một biến, bạn phải gán chuỗi mới cho một biến khác để lưu nó
>>> orig_string = 'Hello'
>>> orig_string + ', world'
'Hello, world'
>>> orig_string
'Hello'
>>> full_sentence = orig_string + ', world'
>>> full_sentence
'Hello, world'
Một chú ý khác chính là việc Python không hỗ trợ ép kiểu ẩn đối với chuỗi
>>> 'Hello' + 2
Traceback [most recent call last]:
File "", line 1, in
TypeError: must be str, not int
Đây là một điều mới mẻ nếu bạn mới nhảy sang Python từ một ngôn ngữ kiểu JavaScript
Nối Với >>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
Một cách khác, mạnh mẽ hơn để kết nối các chuỗi. phương pháp
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2Trường hợp biến phổ biến chính là khi bạn có một iterable - ví dụ như một danh sách - bao gồm các chuỗi và bạn muốn kết hợp các chuỗi đó thành một chuỗi đơn. Tương tự
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3, >>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2 is an instance method of string>>> strings = ['do', 're', 'mi']
>>> ','.join[strings]
'do,re,mi'
Ở đây, chúng ta nối mỗi phần tử của
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
6 bởi một dấu chấm phẩy [>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
7 - joiner]>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2 thông minh ở chỗ nó thêm bộ nối vào giữa các chuỗi trong vòng lặp mà bạn muốn nối, thay vì có thêm bộ nối và cuối mỗi chuỗi. Điều này có nghĩa là nếu iterable có kích thước là >>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
9, bạn sẽ không thấy người tham gia