Hướng dẫn how do you join strings in python? – làm thế nào để bạn tham gia chuỗi trong python?

Có một vài đảm bảo trong cuộc sống: cái chết, thuế và lập trình viên cần phải đối phó với các chuỗi. Chuỗi có thể có nhiều hình thức. Chúng có thể là văn bản không cấu trúc, tên người dùng, mô tả sản phẩm, tên cột cơ sở dữ liệu hoặc thực sự bất cứ điều gì khác mà chúng tôi mô tả bằng ngôn ngữ.

Nội dung chính

Show

  • Chuỗi phân tách
  • Chia tách mà không có thông số
  • Điều đầu tiên cần chú ý là điều này thể hiện tính bất biến của các chuỗi trong Python: các cuộc gọi tiếp theo đến >>> s = ‘ this is my string ‘
    >>> s.split()
    [‘this’, ‘is’, ‘my’, ‘string’]
    >>> s.split(‘ ‘)
    [”, ‘this’, ”, ”, ‘is’, ”, ‘my’, ‘string’, ”]
    6 hoạt động trên chuỗi ban đầu, không phải trong danh sách kết quả của cuộc gọi đầu tiên đến >>> s = ‘ this is my string ‘
    >>> s.split()
    [‘this’, ‘is’, ‘my’, ‘string’]
    >>> s.split(‘ ‘)
    [”, ‘this’, ”, ”, ‘is’, ”, ‘my’, ‘string’, ”]
    6.
  • >>> s = “this is my string”
    >>> s.split(maxsplit=1)
    [‘this’, ‘is my string’]
    7, mặt khác, theo nghĩa đen hơn nhiều. Khi có các dấu phân cách dẫn đầu hoặc theo dõi, bạn sẽ nhận được một chuỗi trống, mà bạn có thể thấy trong các yếu tố đầu tiên và cuối cùng của danh sách kết quả.
  • Kết nối và nối các chuỗi
  • Kết hợp với nhà điều hành input_string = “””Name,Phone,Address
    Mike Smith,15554218841,123 Nice St, Roy, NM, USA
    Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
    Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL”””
    def string_split_ex(unsplit):
    results = []
    # Bonus points for using splitlines() here instead,
    # which will be more readable
    for line in unsplit.split(‘\n’)[1:]:
    results.append(line.split(‘,’, maxsplit=2))
    return results
    print(string_split_ex(input_string))
    6
  • Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.
  • Buộc tất cả lại với nhau
  • Làm thế nào để bạn tham gia hai chuỗi trong Python?
  • Làm thế nào để bạn tham gia hai chuỗi với nhau?

Với sự gần như của dữ liệu chuỗi, điều quan trọng là phải thành thạo các công cụ của giao dịch khi nói đến chuỗi. May mắn thay, Python làm cho thao tác chuỗi rất đơn giản, đặc biệt là khi so sánh với các ngôn ngữ khác và thậm chí 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 số hoạt động chuỗi cơ bản nhất: chia tách, nối và tham gia. Bạn không chỉ học cách sử dụng các công cụ này, mà bạn sẽ bỏ đi với sự hiểu biết sâu sắc hơn về cách chúng hoạt động dưới mui xe. Not only will you learn how to use these tools, but you will walk away with a deeper understanding of how they work under the hood.

Tóm Tắt

Chuỗi phân tách

Trong Python, các chuỗi được biểu diễn dưới dạng các đối tượng

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

5, điều này là bất biến: điều này có nghĩa là đối tượng được biểu thị trong bộ nhớ không thể được thay đổi trực tiếp. Hai sự thật này có thể giúp bạn học (và sau đó nhớ) cách sử dụng

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6.immutable: this means that the object as represented in memory can not be directly altered. These two facts can help you learn (and then remember) how to use

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6.

5, điều này là bất biến: điều này có nghĩa là đối tượng được biểu thị trong bộ nhớ không thể được thay đổi trực tiếp. Hai sự thật này có thể giúp bạn học (và sau đó nhớ) cách sử dụng6.: this means that the object as represented in memory can not be directly altered. These two facts can help you learn (and then remember) how to use6.

Bạn đã đoán làm thế nào hai tính năng của chuỗi liên quan đến chức năng phân tách trong Python? Nếu bạn đoán rằng

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 là một phương thức thể hiện vì chuỗi là một loại đặc biệt, bạn sẽ đúng! Trong một số ngôn ngữ khác (như Perl), chuỗi gốc đóng vai trò là đầu vào cho hàm

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 độc lập chứ không phải là một phương thức được gọi trên chính chuỗi.instance method because strings are a special type, you would be correct! In some other languages (like Perl), the original string serves as an input to a standalone

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 function rather than a method called on the string itself.

6 là một phương thức thể hiện vì chuỗi là một loại đặc biệt, bạn sẽ đúng! Trong một số ngôn ngữ khác (như Perl), chuỗi gốc đóng vai trò là đầu vào cho hàm6 độc lập chứ không phải là một phương thức được gọi trên chính chuỗi.because strings are a special type, you would be correct! In some other languages (like Perl), the original string serves as an input to a standalone6 function rather than a method called on the string itself.

Điều gì về tính bất biến chuỗi? Điều này sẽ nhắc nhở bạn rằng các phương thức chuỗi không phải là hoạt động tại chỗ, nhưng chúng trả về một đối tượng mới trong bộ nhớ.in-place operations, but they return a
new object in memory.

Chia tách mà không có thông số

Trước khi đi sâu hơn, hãy để Lôi nhìn vào một ví dụ đơn giản:

>>>

>>>

'this is my string'

.

split

()

['this', 'is', 'my', 'string']

Đây thực sự là một trường hợp đặc biệt của một cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

Một tính năng khác của cuộc gọi trần tới

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 trên chuỗi sau mà không có tham số phân tách và với

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

3 làm tham số phân tách:

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi6 trên chuỗi sau mà không có tham số phân tách và với3 làm tham số phân tách:

>>>

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

Đây thực sự là một trường hợp đặc biệt của một cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

Một tính năng khác của cuộc gọi trần tới

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 trên chuỗi sau mà không có tham số phân tách và với

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

3 làm tham số phân tách:

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi6 trên chuỗi sau mà không có tham số phân tách và với3 làm tham số phân tách:

Điều đầu tiên cần chú ý là điều này thể hiện tính bất biến của các chuỗi trong Python: các cuộc gọi tiếp theo đến >>> s = ‘ this is my string ‘
>>> s.split()
[‘this’, ‘is’, ‘my’, ‘string’]
>>> s.split(‘ ‘)
[”, ‘this’, ”, ”, ‘is’, ”, ‘my’, ‘string’, ”]
6 hoạt động trên chuỗi ban đầu, không phải trong danh sách kết quả của cuộc gọi đầu tiên đến >>> s = ‘ this is my string ‘
>>> s.split()
[‘this’, ‘is’, ‘my’, ‘string’]
>>> s.split(‘ ‘)
[”, ‘this’, ”, ”, ‘is’, ”, ‘my’, ‘string’, ”]
6.

Cái thứ hai và thứ chính mà bạn nên thấy là cuộc gọi trần

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nào.

6 sẽ trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nào.

Chỉ định phân tách

>>> s = “this is my string”
>>> s.split(maxsplit=1)
[‘this’, ‘is my string’]
7, mặt khác, theo nghĩa đen hơn nhiều. Khi có các dấu phân cách dẫn đầu hoặc theo dõi, bạn sẽ nhận được một chuỗi trống, mà bạn có thể thấy trong các yếu tố đầu tiên và cuối cùng của danh sách kết quả.

Trường hợp có nhiều bộ phân cách liên tiếp (chẳng hạn như giữa các trò chơi này và và là một trong những người đầu tiên và giữa đó như dây trống.

>>>

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

Đây thực sự là một trường hợp đặc biệt của một cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

6, mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định,6 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách.

Một tính năng khác của cuộc gọi trần tới

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 trên chuỗi sau mà không có tham số phân tách và với

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

3 làm tham số phân tách:

6 là nó tự động cắt bỏ khoảng trắng hàng đầu và kéo dài, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi6 trên chuỗi sau mà không có tham số phân tách và với3 làm tham số phân tách:

Điều đầu tiên cần chú ý là điều này thể hiện tính bất biến của các chuỗi trong Python: các cuộc gọi tiếp theo đến

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 hoạt động trên chuỗi ban đầu, không phải trong danh sách kết quả của cuộc gọi đầu tiên đến

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6.

6 hoạt động trên chuỗi ban đầu, không phải trong danh sách kết quả của cuộc gọi đầu tiên đến6.

Cái thứ hai và thứ chính mà bạn nên thấy là cuộc gọi trần

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nào.

6 sẽ trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nào.

Chỉ định phân tách

Name,Phone,Address Mike Smith,15554218841,123 Nice St, Roy, NM, USA Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

7, mặt khác, theo nghĩa đen hơn nhiều. Khi có các dấu phân cách dẫn đầu hoặc theo dõi, bạn sẽ nhận được một chuỗi trống, mà bạn có thể thấy trong các yếu tố đầu tiên và cuối cùng của danh sách kết quả.

7, mặt khác, theo nghĩa đen hơn nhiều. Khi có các dấu phân cách dẫn đầu hoặc theo dõi, bạn sẽ nhận được một chuỗi trống, mà bạn có thể thấy trong các yếu tố đầu tiên và cuối cùng của danh sách kết quả.

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

Trường hợp có nhiều bộ phân cách liên tiếp (chẳng hạn như giữa các trò chơi này và và là một trong những người đầu tiên và giữa đó như dây trống.

Hạn chế chia tách với MaxSplit

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 có một tham số tùy chọn khác được gọi là

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

9. Theo mặc định,

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 sẽ thực hiện tất cả các chia tách có thể khi được gọi. Tuy nhiên, khi bạn đưa ra một giá trị cho

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

9, chỉ có số lượng chia tách đã cho. Sử dụng chuỗi ví dụ trước của chúng tôi, chúng ta có thể thấy

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

9 trong hành động:

6 có một tham số tùy chọn khác được gọi là9. Theo mặc định,6 sẽ thực hiện tất cả các chia tách có thể khi được gọi. Tuy nhiên, khi bạn đưa ra một giá trị cho9, chỉ có số lượng chia tách đã cho. Sử dụng chuỗi ví dụ trước của chúng tôi, chúng ta có thể thấy9 trong hành động:

Phần tử đầu tiên là

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

2, đây chỉ là biến chỉ vào chuỗi đầu vào của bạn. Sau đó, chúng tôi có cuộc gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 của chúng tôi:

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

4. Ở đây, chúng tôi đang chia tách trên một nhân vật đặc biệt gọi là nhân vật Newline.newline character.

2, đây chỉ là biến chỉ vào chuỗi đầu vào của bạn. Sau đó, chúng tôi có cuộc gọi6 của chúng tôi:4. Ở đây, chúng tôi đang chia tách trên một nhân vật đặc biệt gọi là nhân vật Newline.

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

5 làm gì? Như tên gọi, nó cho biết bất cứ điều gì đang đọc chuỗi mà mọi ký tự sau khi nó nên được hiển thị trên dòng tiếp theo. Trong một chuỗi đa dòng như

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

6 của chúng tôi, có một

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

5 ẩn ở cuối mỗi dòng.

5 làm gì? Như tên gọi, nó cho biết bất cứ điều gì đang đọc chuỗi mà mọi ký tự sau khi nó nên được hiển thị trên dòng tiếp theo. Trong một chuỗi đa dòng như6 của chúng tôi, có một5 ẩn ở cuối mỗi dòng.

Phần cuối cùng có thể là mới:

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

8. Tuyên bố cho đến nay cung cấp cho chúng tôi một danh sách mới trong bộ nhớ và

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

8 trông giống như một ký hiệu chỉ mục danh sách, và nó là một trò chơi! Ký hiệu chỉ số mở rộng này cho chúng ta một lát cắt danh sách. Trong trường hợp này, chúng tôi lấy phần tử tại Index

Name,Phone,Address Mike Smith,15554218841,123 Nice St, Roy, NM, USA Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL

4 và mọi thứ sau khi nó, loại bỏ phần tử tại Index

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

1.

8. Tuyên bố cho đến nay cung cấp cho chúng tôi một danh sách mới trong bộ nhớ và8 trông giống như một ký hiệu chỉ mục danh sách, và nó là một trò chơi! Ký hiệu chỉ số mở rộng này cho chúng ta một lát cắt danh sách. Trong trường hợp này, chúng tôi lấy phần tử tại Index4 và mọi thứ sau khi nó, loại bỏ phần tử tại Index1.

Trong tất cả, chúng tôi lặp lại thông qua một danh sách các chuỗi, trong đó mỗi phần tử đại diện cho từng dòng trong chuỗi đầu vào đa dòng ngoại trừ dòng đầu tiên.

Ở mỗi chuỗi, chúng tôi gọi

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

6 lại bằng cách sử dụng

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

3 làm ký tự phân chia, nhưng lần này chúng tôi đang sử dụng

>>>

s

=

"this is my string"

>>>

s

.

split

(

maxsplit

=

1

)

['this', 'is my string']

9 để chỉ phân chia trên hai dấu phẩy đầu tiên, để lại địa chỉ. Sau đó, chúng tôi nối kết quả của cuộc gọi đó đến mảng

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

5 được đặt tên một cách khéo léo và trả lại cho người gọi.

6 lại bằng cách sử dụng3 làm ký tự phân chia, nhưng lần này chúng tôi đang sử dụng9 để chỉ phân chia trên hai dấu phẩy đầu tiên, để lại địa chỉ. Sau đó, chúng tôi nối kết quả của cuộc gọi đó đến mảng5 được đặt tên một cách khéo léo và trả lại cho người gọi.

Kết nối và nối các chuỗi

Hoạt động chuỗi cơ bản khác trái ngược với các chuỗi phân tách: nối chuỗi. Nếu bạn thiên đường nhìn thấy từ này, đừng lo lắng. Nó chỉ là một cách lạ mắt để nói về việc dán mắt nhau.concatenation. If you haven’t seen this word, don’t worry. It’s just a fancy way of saying “gluing together.”

Kết hợp với nhà điều hành input_string = “””Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL”””
def string_split_ex(unsplit):
results = []
# Bonus points for using splitlines() here instead,
# which will be more readable
for line in unsplit.split(‘\n’)[1:]:
results.append(line.split(‘,’, maxsplit=2))
return results
print(string_split_ex(input_string))
6

Có một vài cách để làm điều này, tùy thuộc vào những gì bạn đang cố gắng đạt được. Phương pháp đơn giản và phổ biến nhất là sử dụng ký hiệu cộng (

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

6) để thêm nhiều chuỗi lại với nhau. Chỉ cần đặt một

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

6 giữa nhiều chuỗi như bạn muốn tham gia cùng nhau:

6) để thêm nhiều chuỗi lại với nhau. Chỉ cần đặt một6 giữa nhiều chuỗi như bạn muốn tham gia cùng nhau:

>>>

>>>

'a'

+

'b'

+

'c'

'abc'

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

>>>

>>>

orig_string

=

'Hello'

>>>

orig_string

+

', world'

'Hello, world'

>>>

orig_string

'Hello'

>>>

full_sentence

=

orig_string

+

', world'

>>>

full_sentence

'Hello, world'

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

>>>

>>>

'Hello'

+

2

Traceback (most recent call last):

File

"<stdin>"

, line

1

, in

<module>

TypeError

:

must be str, not int

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

Nếu chúng tôi không có chuỗi bất biến,

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

9 thay vào đó sẽ xuất ra

>>>

'a'

+

'b'

+

'c'

'abc'

0.

9 thay vào đó sẽ xuất ra0.

Một lưu ý khác là Python không thực hiện chuyển đổi chuỗi ngầm. Nếu bạn cố gắng kết hợp một chuỗi với một loại không chuỗi, Python sẽ tăng một

>>>

'a'

+

'b'

+

'c'

'abc'

1:

1:

Điều này là do bạn chỉ có thể nối các chuỗi với các chuỗi khác, có thể là hành vi mới đối với bạn nếu bạn đến từ một ngôn ngữ như JavaScript, cố gắng thực hiện chuyển đổi loại ngầm.

>>>

>>>

strings

=

[

'do'

,

're'

,

'mi'

]

>>>

','

.

join

(

strings

)

'do,re,mi'

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

Nếu chúng tôi không có chuỗi bất biến,

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

9 thay vào đó sẽ xuất ra

>>>

'a'

+

'b'

+

'c'

'abc'

0.

9 thay vào đó sẽ xuất ra0.

>>>

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

0

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

>>>

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

1

Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó:

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

2

Hãy nhớ rằng, chuỗi là bất biến! Nếu bạn kết hợp hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó.

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

3

Nếu chúng tôi không có chuỗi bất biến,

input_string

=

"""Name,Phone,Address

Mike Smith,15554218841,123 Nice St, Roy, NM, USA

Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA

Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def

string_split_ex

(

unsplit

):

results

=

[]

# Bonus points for using splitlines() here instead,

# which will be more readable

for

line

in

unsplit

.

split

(

'

\n

'

)[

1

:]:

results

.

append

(

line

.

split

(

','

,

maxsplit

=

2

))

return

results

print

(

string_split_ex

(

input_string

))

9 thay vào đó sẽ xuất ra

>>>

'a'

+

'b'

+

'c'

'abc'

0.

9 thay vào đó sẽ xuất ra0.

Dưới đây là giải pháp của tôi, bắt đầu với một danh sách các danh sách và kết thúc bằng một chuỗi duy nhất:

>>>

s

=

' this is my string '

>>>

s

.

split

()

['this', 'is', 'my', 'string']

>>>

s

.

split

(

' '

)

['', 'this', '', '', 'is', '', 'my', 'string', '']

4

Ở đây chúng tôi sử dụng

>>>

'a'

+

'b'

+

'c'

'abc'

2 không chỉ một lần, mà là hai lần. Đầu tiên, chúng tôi sử dụng nó trong danh sách hiểu, công việc kết hợp tất cả các chuỗi trong mỗi danh sách bên trong thành một chuỗi. Tiếp theo, chúng tôi tham gia từng chuỗi này với ký tự mới

[

[

'Mike Smith'

,

'15554218841'

,

'123 Nice St, Roy, NM, USA'

],

[

'Anita Hernandez'

,

'15557789941'

,

'425 Sunny St, New York, NY, USA'

],

[

'Guido van Rossum'

,

'315558730'

,

'Science Park 123, 1098 XG Amsterdam, NL'

]

]

5 mà chúng tôi đã thấy trước đó. Cuối cùng, chúng tôi chỉ cần in kết quả để chúng tôi có thể xác minh rằng đó là như chúng tôi mong đợi.

2 không chỉ một lần, mà là hai lần. Đầu tiên, chúng tôi sử dụng nó trong danh sách hiểu, công việc kết hợp tất cả các chuỗi trong mỗi danh sách bên trong thành một chuỗi. Tiếp theo, chúng tôi tham gia từng chuỗi này với ký tự mới5 mà chúng tôi đã thấy trước đó. Cuối cùng, chúng tôi chỉ cần in kết quả để chúng tôi có thể xác minh rằng đó là như chúng tôi mong đợi.

Buộc tất cả lại với nhau

Mặc dù điều này kết thúc tổng quan này về các hoạt động chuỗi cơ bản nhất trong Python (chia tách, nối và nối), nhưng vẫn có toàn bộ vũ trụ của các phương thức chuỗi có thể giúp trải nghiệm của bạn với việc thao túng các chuỗi dễ dàng hơn nhiều.

Khi bạn đã thành thạo các hoạt động chuỗi cơ bản này, bạn có thể muốn tìm hiểu thêm. May mắn thay, chúng tôi có một số hướng dẫn tuyệt vời để giúp bạn hoàn thành việc làm chủ các tính năng của Python, cho phép thao tác chuỗi thông minh:

  • Python 3 Lừa F-Strings: Một cú pháp định dạng chuỗi được cải tiến
  • Chuỗi Python định dạng các thực tiễn tốt nhất
  • Chuỗi và dữ liệu ký tự trong Python

Làm thế nào để bạn tham gia hai chuỗi trong Python?

Sử dụng toán tử + Toán tử + có thể được sử dụng để kết hợp hai chuỗi khác nhau.

The + operator can be used to concatenate two different strings.

Làm thế nào để bạn tham gia hai chuỗi với nhau?

Kết nối là quá trình nối thêm một chuỗi vào cuối chuỗi khác.Bạn nối các chuỗi bằng cách sử dụng toán tử +.Đối với các chuỗi chữ và hằng số chuỗi, sự kết hợp xảy ra tại thời điểm biên dịch;Không có sự kết hợp thời gian chạy xảy ra.Đối với các biến chuỗi, việc kết hợp chỉ xảy ra tại thời điểm chạy.

You concatenate strings by using the + operator

. For string literals and string constants, concatenation occurs at compile time; no run-time concatenation occurs. For string variables, concatenation occurs only at run time.