今天做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) #
對面積排序
(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])):
(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有多個分割符時,就要用到正規表示式了:
importres1 = [8,4,6,2,5,9,1],7s2=re.split(r'
[\[\s\]\,]+
',s1) #
去掉[、空格、],+表示多個符號
(s2)
['', '
8', '
4', '
6', '
2', '
5', '
9', '
1', '
7'] #
為什麼前面有個空格,去不掉
join:字串連線
a = ['a','
b','
c','d'
] #a[1]='a',a[-1]='d'
content = ''
.join(a)
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開...