Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?


Python có một bộ các phương thức tích hợp mà bạn có thể sử dụng trên các chuỗi.


Trường hợp cao hơn

Thí dụ

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
6 trả về chuỗi trong trường hợp trên:

A = "Xin chào, Thế giới!" in (a.upper ())
print(a.upper())

Hãy tự mình thử »


Chữ thường

Thí dụ

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
6 trả về chuỗi trong trường hợp trên:

A = "Xin chào, Thế giới!" in (a.upper ())
print(a.lower())

Hãy tự mình thử »


Chữ thường

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
7 Trả về chuỗi ở trường hợp thông thường:

Thí dụ

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
6 trả về chuỗi trong trường hợp trên:

A = "Xin chào, Thế giới!" in (a.upper ())
print(a.strip()) # returns "Hello, World!"

Hãy tự mình thử »



Chữ thường

Thí dụ

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
6 trả về chuỗi trong trường hợp trên:

A = "Xin chào, Thế giới!" in (a.upper ())
print(a.replace("H", "J"))

Hãy tự mình thử »


Chữ thường

Phương thức

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
7 Trả về chuỗi ở trường hợp thông thường:

Thí dụ

A = "Xin chào, Thế giới!" in (a.lower ())

Loại bỏ khoảng trắng
print(a.split(",")) # returns ['Hello', ' World!']

Hãy tự mình thử »

Chữ thường


Phương thức text = 'abcdefg' new = list(text) new[6] = 'W' ''.join(new) 7 Trả về chuỗi ở trường hợp thông thường:

A = "Xin chào, Thế giới!" in (a.lower ())



508

Các chuỗi có thể biến đổi trong Python?
Learn more.

Chuỗi không thể thay đổi trong Python. Chuỗi là một loại dữ liệu bất biến có nghĩa là giá trị của nó không thể được cập nhật.

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.

text = "abcdefg";
text[1] = "Z";
           ^

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Cách dễ nhất trong Python để thay thế một ký tự trong một chuỗi là gì?

Ví dụ:25 gold badges160 silver badges285 bronze badges

MartineauAug 4, 2009 at 15:48

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

0

Huy hiệu vàng 116K25

Hỏi ngày 4 tháng 8 năm 2009 lúc 15:48

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'

Đừng sửa đổi chuỗi.

Làm việc với họ như danh sách; Chỉ biến chúng thành dây chỉ khi cần thiết.Aug 4, 2009 at 16:41

Chuỗi Python là bất biến (nghĩa là chúng không thể được sửa đổi). Có rất nhiều lý do cho việc này. Sử dụng danh sách cho đến khi bạn không có lựa chọn, chỉ sau đó biến chúng thành chuỗi.scvalex

Đã trả lời ngày 4 tháng 8 năm 2009 lúc 16:412 gold badges33 silver badges43 bronze badges

11

SCVALEXSCVALEX

14.6K2 Huy hiệu vàng33 Huy hiệu bạc43 Huy hiệu đồng

Phương pháp 1

Nói chung,

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)

Nơi đây

timeit.timeit("text = 'abcdefg'; s = list(text); s[6] = 'W'; ''.join(s)", number=1000000)
1.0411581993103027

Phương pháp 2

Nói chung,

text = 'abcdefg'
text = text[:1] + 'Z' + text[2:]

Nơi đây

timeit.timeit("text = 'abcdefg'; text = text[:1] + 'Z' + text[2:]", number=1000000)
0.34651994705200195

Phương pháp 2

Đã trả lời ngày 29 tháng 1 lúc 18:14

timeit.timeit("text = 'abcdefg'; s = bytearray(text); s[1] = 'Z'; str(s)", number=1000000)
1.0387420654296875

Nếu thế giới của bạn là 100% ________ 34 (rất nhiều trường hợp sử dụng phù hợp với hộp đó):Mar 3, 2014 at 14:15

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Python 3.7.3Mehdi Nellen

Đã trả lời ngày 17 tháng 9 năm 2019 lúc 17:444 gold badges32 silver badges48 bronze badges

13

Paul Nathanpaul Nathan

39.1k28 Huy hiệu vàng112 Huy hiệu bạc207 Huy hiệu đồngAug 4, 2009 at 15:53

Tôi muốn thêm một cách khác để thay đổi một ký tự trong một chuỗi.Jochen Ritzel

Làm thế nào nhanh hơn khi so sánh với việc biến chuỗi thành danh sách và thay thế giá trị ith sau đó tham gia lại ?.29 gold badges196 silver badges191 bronze badges

2

Liệt kê cách tiếp cận
The easiest way to do what you want is probably:

text = "Z" + text[1:]

timeit.timeit("text = 'abcdefg'; s = list(text); s[6] = 'W'; ''.join(s)", number=1000000)
1.0411581993103027
2 trả về chuỗi trong
timeit.timeit("text = 'abcdefg'; s = list(text); s[6] = 'W'; ''.join(s)", number=1000000)
1.0411581993103027
3 từ vị trí 1 đến cuối, các vị trí được tính từ 0 SO '1' là ký tự thứ hai.

Chỉnh sửa: Bạn có thể sử dụng cùng một kỹ thuật cắt chuỗi cho bất kỳ phần nào của chuỗi

text = text[:1] + "Z" + text[2:]

Hoặc nếu chữ chỉ xuất hiện khi bạn có thể sử dụng kỹ thuật tìm kiếm và thay thế được đề xuất bên dưới

Guntbert

5186 Huy hiệu bạc19 Huy hiệu đồng6 silver badges19 bronze badges

Đã trả lời ngày 4 tháng 8 năm 2009 lúc 15:52Aug 4, 2009 at 15:52

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Martin Beckettmartin BeckettMartin Beckett

93.4K28 Huy hiệu vàng184 Huy hiệu bạc259 Huy hiệu đồng28 gold badges184 silver badges259 bronze badges

1

Bắt đầu với Python 2.6 và Python 3 bạn có thể sử dụng bytearrays có thể thay đổi (có thể thay đổi phần tử khôn ngoan không giống như chuỗi):

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
0

Chỉnh sửa: Thay đổi STR thành S

EDIT2: Như nhà giả kim hai bit đã đề cập trong các bình luận, mã này không hoạt động với Unicode.

Đã trả lời ngày 30 tháng 1 năm 2014 lúc 14:34Jan 30, 2014 at 14:34

MahmoudmahmoudMahmoud

5294 Huy hiệu bạc6 Huy hiệu Đồng4 silver badges6 bronze badges

4

Mã này không phải là của tôi. Tôi không thể nhớ lại mẫu trang web ở đâu, tôi đã lấy nó. Thật thú vị, bạn có thể sử dụng điều này để thay thế một ký tự hoặc nhiều hơn bằng một hoặc nhiều từ thiện. Mặc dù câu trả lời này rất muộn, nhưng những người mới như tôi (bất cứ lúc nào) có thể thấy nó hữu ích.

Thay đổi chức năng văn bản.

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
1

Đã trả lời ngày 16 tháng 12 năm 2011 lúc 13:39Dec 16, 2011 at 13:39

K.Vee.Shanker.K.Vee.Shanker.K.Vee.Shanker.

2891 Huy hiệu vàng3 Huy hiệu bạc 5 huy hiệu đồng1 gold badge3 silver badges5 bronze badges

7

Chuỗi là bất biến trong Python, điều đó có nghĩa là bạn không thể thay đổi chuỗi hiện có. Nhưng nếu bạn muốn thay đổi bất kỳ ký tự nào trong đó, bạn có thể tạo một chuỗi mới như sau,

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
2

thay thế ('vua', 1, 'o') // kết quả: kong
// result: Kong

Lưu ý: Nếu bạn cung cấp giá trị vị trí lớn hơn chiều dài của chuỗi, nó sẽ nối các ký tự ở cuối.

thay thế ('chó', 10, 's') // kết quả: chó
// result: Dogs

Đã trả lời ngày 1 tháng 8 năm 2020 lúc 7:39Aug 1, 2020 at 7:39

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Giống như những người khác đã nói, nói chung các chuỗi Python được cho là bất biến.

Tuy nhiên, nếu bạn đang sử dụng CPython, việc triển khai tại python.org, có thể sử dụng CTYPE để sửa đổi cấu trúc chuỗi trong bộ nhớ.

Dưới đây là một ví dụ mà tôi sử dụng kỹ thuật để xóa một chuỗi.

Đánh dấu dữ liệu là nhạy cảm trong Python

Tôi đề cập đến điều này vì lợi ích của sự hoàn chỉnh, và đây phải là biện pháp cuối cùng của bạn vì nó là hackish.

Đã trả lời ngày 4 tháng 8 năm 2009 lúc 19:08Aug 4, 2009 at 19:08

Không biết không biếtUnknown

45.1K26 Huy hiệu vàng137 Huy hiệu bạc181 Huy hiệu đồng26 gold badges137 silver badges181 bronze badges

3

Tôi thích F-String:

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
3

Trong máy của tôi, phương pháp này nhanh hơn 10% so với "phương pháp nhanh" sử dụng chuỗi + để nối:

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
4

Đã trả lời ngày 2 tháng 5 năm 2021 lúc 23:09May 2, 2021 at 23:09

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

1

Trên thực tế, với chuỗi, bạn có thể làm một cái gì đó như thế này:

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
5

Về cơ bản, tôi đang "thêm"+"chuỗi" với nhau thành một chuỗi mới :).

Đã trả lời ngày 20 tháng 11 năm 2015 lúc 21:12Nov 20, 2015 at 21:12

1

Để thay thế một ký tự trong một chuỗicharacter in a string

Bạn có thể sử dụng một trong hai phương thức:

Phương pháp 1

Nói chung,

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
6

Nơi đây

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
3

Phương pháp 2

Nói chung,

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
8

Here,

>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
9

Nơi đâyJan 29 at 18:14

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Phương pháp 2

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
0

Đã trả lời ngày 29 tháng 1 lúc 18:14

Nếu thế giới của bạn là 100% ________ 34 (rất nhiều trường hợp sử dụng phù hợp với hộp đó):Sep 17, 2019 at 17:44

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Python 3.7.3Paul Nathan

Đã trả lời ngày 17 tháng 9 năm 2019 lúc 17:4428 gold badges112 silver badges207 bronze badges

Paul Nathanpaul Nathan

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
1

39.1k28 Huy hiệu vàng112 Huy hiệu bạc207 Huy hiệu đồng

Tôi muốn thêm một cách khác để thay đổi một ký tự trong một chuỗi.

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
2

Làm thế nào nhanh hơn khi so sánh với việc biến chuỗi thành danh sách và thay thế giá trị ith sau đó tham gia lại ?.

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
3

Liệt kê cách tiếp cậnApr 4, 2020 at 16:50

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Giải pháp của tôimohammed wazeem

Đã trả lời ngày 4 tháng 4 năm 2020 lúc 16:501 gold badge8 silver badges25 bronze badges

1

Mohammed Wazeemmohammed Wazeem

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
4

1.2501 huy hiệu vàng8 Huy hiệu bạc25 Huy hiệu đồngDec 6, 2020 at 21:30

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Một giải pháp kết hợp tìm và thay thế các phương thức trong một dòng nếu câu lệnh có thể là:eapetcho

Đã trả lời ngày 6 tháng 12 năm 2020 lúc 21:303 silver badges10 bronze badges

eapetchoeapetcho

text = 'abcdefg'
new = list(text)
new[6] = 'W'
''.join(new)
5

5193 Huy hiệu bạc10 Huy hiệu đồngMar 21, 2021 at 12:09

Hướng dẫn can you modify strings in python? - bạn có thể sửa đổi chuỗi trong python không?

Bạn có thể sửa đổi một chuỗi không?

00:00 Vậy, làm thế nào về việc sửa đổi chuỗi?Về cơ bản, về cơ bản, bạn không thể.Chuỗi là bất biến.you can't. Strings are immutable.

Làm thế nào để bạn thay đổi giá trị chuỗi trong Python?

Dưới đây là 6 phương pháp phổ biến được sử dụng để thay thế ký tự trong các chuỗi trong khi lập trình trong Python ...
1) Sử dụng phương pháp cắt ..
2) Sử dụng phương thức thay thế () ..
3) Sử dụng cấu trúc dữ liệu danh sách ..
4) Thay thế nhiều ký tự bằng cùng một ký tự ..
5) Thay thế nhiều ký tự bằng các ký tự khác nhau ..
6) Sử dụng mô -đun Regex ..

Các chuỗi có thể biến đổi trong Python?

Chuỗi không thể thay đổi trong Python.Chuỗi là một loại dữ liệu bất biến có nghĩa là giá trị của nó không thể được cập nhật.. Strings are a immutable data types which means that its value cannot be updated.