Python字串操作

2022-04-19 21:26:24 字數 2056 閱讀 6128

今天做newcode的『直方圖內最大矩形』的問題,坑爹了字串操作折騰了好久,特地來總結下。題目為(

先把**貼上來,本機python3.4跑的結果沒問題,newcoder是python2.7的,報錯,還沒解決:%d format: a number is required, not nonetype

#

-*- coding:utf-8 -*-

class

maxinnerrec:

defcountarea(self, a, n):

#write code here

l =for ii in range(n - 1, 0, -1):

for jj in

range(0, ii):

if a[jj] > a[jj + 1]:

#tmp = a[jj]

#a[jj] = a[jj + 1]

#a[jj + 1] = a[jj]

a[jj],a[jj + 1] = a[jj + 1],a[jj]

print (a) #

排序完成後

for i in

range(n):

計算面積

for ii in

range(n):

if l[0] l[0], l[ii] =l[ii], l[0]

print(l) #

對面積排序

print

(l[0])

if__name__ == "

__main__":

a =ss =input()

aa = ss.replace('

[','')

aa = aa.replace('

]','')

aa = aa.split(','

) n = int(aa[-1])

for i in range(int(aa[-1])):

print

(a)

#a = [2,7,9,4,1]

#n = 5

ch =maxinnerrec()

ch.countarea(a,n)

正文:字串操作

replace:字串替代
ss = [2,7,9,4,1]

aa = ss.replace('

[','

')  #

ss字串中所有的'['用' '空格代替 

aa = 2,7,9,4,1]

split:字串分割
a = 『2,7,9,4,1』      #

a為乙個字串

aa = aa.split('

,') #

用,分割a,使a成為乙個string型別的list

split有多個分割符時,就要用到正規表示式了:

import

res1 = [8,4,6,2,5,9,1],7s2=re.split(r'

[\[\s\]\,]+

',s1) #

去掉[、空格、],+表示多個符號

print

(s2)

['', '

8', '

4', '

6', '

2', '

5', '

9', '

1', '

7'] #

為什麼前面有個空格,去不掉

join:字串連線
a = ['

a','

b','

c','d'

]       #a[1]='a',a[-1]='d'

content = ''

.join(a)

print

content

abcd

下次再新增。。

Python字串操作

1 複製字串 str2 str1 2 鏈結字串 str abc 3 查詢字串 string.find sub string.index sub string.rfind sub string,rindex sub 4 字串比較 cmp str1,str2 cmp str1.upper str2.up...

Python字串操作

python如何判斷乙個字串只包含數字字元 python 字串比較 下面列出了常用的python實現的字串操作 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2 strcat sstr1,sstr2 sstr1...

python字串操作

在 python 有各種各樣的string操作函式。在歷史上string類在 python 中經歷了一段輪迴的歷史。在最開始的時候,python 有乙個專門的string的module,要使用string的方法要先import,但後來由於眾多的 python 使用者的建議,從 python 2.0開...