簡體   English   中英

交換字符串中的字符

[英]Swap characters in string

我是python的新手,我想知道如何在字符串中交換兩個字符。 我知道字符串是不可變的所以我需要找到一種方法來創建一個交換字符的新字符串。 具體來說,一種采用字符串和兩個索引i,j的一般方法,並用i交換i上的字符。

正如您所說,字符串是不可變的,不能就地修改 - 但我們可以使用交換的字符創建一個新字符串。 這里有一個想法:讓我們將字符串轉換為列表,交換列表中的元素,然后將列表轉換回字符串:

def swap(s, i, j):
    lst = list(s)
    lst[i], lst[j] = lst[j], lst[i]
    return ''.join(lst)

另一種可能的實現是使用切片和索引來操作字符串:

def swap(s, i, j):
    return ''.join((s[:i], s[j], s[i+1:j], s[i], s[j+1:]))

無論哪種方式,它都按預期工作:

swap('abcde', 1, 3)
=> 'adcbe'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM