Hướng dẫn how do you insert letters in python? - làm thế nào để bạn chèn các chữ cái trong python?

Có bất kỳ chức năng nào trong Python mà tôi có thể sử dụng để chèn một giá trị ở một vị trí nhất định của một chuỗi không?

Một cái gì đó như thế này:

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
3 Sau đó ở vị trí 4 Thêm
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
4 để trở thành
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
5

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges287 bronze badges

Đã hỏi ngày 10 tháng 3 năm 2011 lúc 1:32Mar 10, 2011 at 1:32

Michel Andrademichel AndradeMichel Andrade

3,8575 huy hiệu vàng26 Huy hiệu bạc28 Huy hiệu đồng5 gold badges26 silver badges28 bronze badges

0

Không. Chuỗi Python là bất biến.

>>> s='355879ACB6'
>>> s[4:4] = '-'
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: 'str' object does not support item assignment

Tuy nhiên, có thể tạo một chuỗi mới có ký tự được chèn:

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'

Đã trả lời ngày 10 tháng 3 năm 2011 lúc 1:34Mar 10, 2011 at 1:34

2

Điều này có vẻ rất dễ dàng:

>>> hash = "355879ACB6"
>>> hash = hash[:4] + '-' + hash[4:]
>>> print hash
3558-79ACB6

Tuy nhiên, nếu bạn thích một cái gì đó như một chức năng làm như thế này:

def insert_dash[string, index]:
    return string[:index] + '-' + string[index:]

print insert_dash["355879ACB6", 5]

Đã trả lời ngày 10 tháng 3 năm 2011 lúc 1:39Mar 10, 2011 at 1:39

Mario Césarmario CésarMario César

3.5892 Huy hiệu vàng24 Huy hiệu bạc42 Huy hiệu Đồng2 gold badges24 silver badges42 bronze badges

2

Vì các chuỗi là một cách khác để làm điều này là biến chuỗi thành một danh sách, sau đó có thể được lập chỉ mục và sửa đổi mà không cần bất kỳ thủ thuật cắt nào. Tuy nhiên, để đưa danh sách trở lại chuỗi bạn phải sử dụng

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
6 bằng cách sử dụng chuỗi trống.

>>> hash = '355879ACB6'
>>> hashlist = list[hash]
>>> hashlist.insert[4, '-']
>>> ''.join[hashlist]
'3558-79ACB6'

Tôi không chắc làm thế nào điều này so sánh với hiệu suất, nhưng tôi cảm thấy nó dễ dàng hơn so với các giải pháp khác. ;-]

Đã trả lời ngày 10 tháng 3 năm 2011 lúc 1:48Mar 10, 2011 at 1:48

0

Chức năng đơn giản để thực hiện điều này:

def insert_str[string, str_to_insert, index]:
    return string[:index] + str_to_insert + string[index:]

Đã trả lời ngày 16 tháng 3 năm 2017 lúc 10:26Mar 16, 2017 at 10:26

Vatsugvatsugvatsug

5245 Huy hiệu bạc15 Huy hiệu Đồng5 silver badges15 bronze badges

Python 3.6+ bằng cách sử dụng F-String:

mys = '1362511338314'
f"{mys[:10]}_{mys[10:]}"

cho

'1362511338_314'

AMAIN

1.56812 Huy hiệu bạc19 Huy hiệu đồng12 silver badges19 bronze badges

Đã trả lời ngày 24 tháng 4 năm 2020 lúc 19:14Apr 24, 2020 at 19:14

DarinpdarinpDarinP

1251 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges

1

Tôi đã thực hiện một phương pháp rất hữu ích để thêm một chuỗi ở một vị trí nhất định trong Python:method to add a string in a certain position in Python:

def insertChar[mystring, position, chartoinsert ]:
    longi = len[mystring]
    mystring   =  mystring[:position] + chartoinsert + mystring[position:] 
    return mystring  

Ví dụ:

a = "Jorgesys was here!"

def insertChar[mystring, position, chartoinsert ]:
    longi = len[mystring]
    mystring   =  mystring[:position] + chartoinsert + mystring[position:] 
    return mystring   

#Inserting some characters with a defined position:    
print[insertChar[a,0, '-']]    
print[insertChar[a,9, '@']]    
print[insertChar[a,14, '%']]   

Chúng tôi sẽ có một đầu ra:

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
0

Đã trả lời ngày 4 tháng 2 năm 2016 lúc 15:13Feb 4, 2016 at 15:13

JorgesysjorgesysJorgesys

122K23 Huy hiệu vàng323 Huy hiệu bạc263 Huy hiệu Đồng23 gold badges323 silver badges263 bronze badges

3

Tôi nghĩ rằng các câu trả lời trên là tốt, nhưng tôi sẽ giải thích rằng có một số tác dụng phụ bất ngờ nhưng tốt cho họ ...

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
1

Nếu chỉ mục POS_I rất nhỏ [quá âm], chuỗi chèn sẽ được chuẩn bị. Nếu quá lâu, chuỗi chèn được nối thêm. Nếu POS_I nằm giữa -Len [String_s] và +Len [String_s] - 1, chuỗi chèn sẽ được chèn vào đúng vị trí.

Đã trả lời ngày 7 tháng 2 năm 2020 lúc 1:57Feb 7, 2020 at 1:57

GaryMbloomGaryMbloomGaryMBloom

4,8011 Huy hiệu vàng23 Huy hiệu bạc28 Huy hiệu đồng1 gold badge23 silver badges28 bronze badges

Nếu bạn cần chèn một char đã cho tại nhiều vị trí, luôn luôn xem xét việc tạo một danh sách các chuỗi con và sau đó sử dụng

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
6 thay vì
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
8 để kết hợp chuỗi. Điều này là do, vì Python
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
9 có thể thay đổi,
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
8 nối chuỗi luôn luôn thêm một chi phí thích nghi. Thông tin thêm có thể được tìm thấy ở đây.

Đã trả lời ngày 25 tháng 7 lúc 22:06Jul 25 at 22:06

WenukawenukaWenuka

7312 Huy hiệu vàng8 Huy hiệu bạc20 Huy hiệu đồng2 gold badges8 silver badges20 bronze badges

Nếu bạn muốn nhiều chèn

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
2

Đã trả lời ngày 31 tháng 5 năm 2015 lúc 15:27May 31, 2015 at 15:27

Enomadenomadenomad

1.0239 huy hiệu bạc16 Huy hiệu đồng9 silver badges16 bronze badges

1

Bài Viết Liên Quan

Chủ Đề