Python字符串练习题
生活随笔
收集整理的這篇文章主要介紹了
Python字符串练习题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、最小編輯距離
假設有兩個字符串s1和s2,計算通過增添、刪除、替換三種操作后,從s1轉變為s2所需要的操作次數。
class Solution:def editDist(self,s1,s2):m,n=len(s1)+1,len(s2)+1matrix = [[0]*n for i in range(m)]matrix[0] = [i for i in range(n)]for i in range(m):matrix[i][0] = ifor i in range(1,m):for j in range(1,n):if s1[i-1] == s2[j-1]:temp = 0else:temp = 1matrix[i][j] = min(matrix[i][j-1]+1,matrix[i-1][j]+1,matrix[i-1][j-1]+temp)return matrix[m-1][n-1]2、替換空格
請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之后的字符串為We%20Are%20Happy。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' class Solution:def replaceSpace(self, s):temp = []for i in s:if i != ' ':temp.append(i)else:temp.append('%20')return ''.join(temp)3、字符串的排列
輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。
這也是個神題目,思路沒怎么看懂。
class Solution:def Permutation(self, ss):lens = len(ss)if lens == 0:return []if lens == 1:return [ss]sl = []for i in range(lens):for j in self.Permutation(ss[:i]+ss[i+1:]):sl.append(ss[i]+j)return sorted(list(set(sl)))總結
以上是生活随笔為你收集整理的Python字符串练习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 13道Python数组练习题
- 下一篇: 3种Python字典合并方法