A. python中列表/字元串切片slice
s='0123456789'
s[::-1]:表示將s倒序排列
s[::-2]:表示將s倒序排列並且步長是2
s[::-3]:表示將s倒序排列並且步長是3
s[:2:-1]:表示將s倒序排列,並且到s的第2個元素就結束
s[1:2:-1]:表示將s倒序排列,並且從第一個元素開始,第二個元素結束
s[-1:-5:-2]:表示將s倒序排列步長為2,也就是'97531'。然後是從s的-1個元素位置開始,也就是9。到s的-5個元素結束,也就是5,但不包括5。最後的結果也就是'97'
B. python字元串常用方法
python字元串常用方法
1. Python字元串拼接(包含字元串拼接數字)
2. Python截取字元串(字元串切片)
3. Python 的len()函數:獲取字元串長度或位元組數
4. Python split()方法:分割字元串
5. Python join()方法:合並字元串
6. Python count()方法:統計字元串出現的次數
7. Python find()方法:檢測字元串中是否包含某子串
8. Python index()方法:檢測字元串中是否包含某子串
9. Python字元串對齊方法(ljust()、rjust()和center())
10. Python startswith()和endswith()方法
11. Python字元串大小寫轉換(3種)函數
12. Python去除字元串中空格(刪除指定字元)的3種方法
C. python怎麼將字元串反轉後輸出
字元串='123456789'
字元串[::-1]='987654321'
D. 解釋下這段Python代碼。
infile
=
open("message.txt",
"r")
#只讀模式打開message.txt
outfile
=
open("newMsg.txt",
"w")
#寫模式打開newMsg.txt
count
=
0
#創建變數count
,值為整數0
stringList
=
infile.readlines()
#一次性讀取message.txt中的所有行,返回字元串列表,
一
行文本就是列表的一項
for
line
in
stringList:
#迭代該列表
lineList
=
line.split()
#用split講該行的單詞分割成列表,每個單詞就時一個列表
項目,split的默認參數是空格,所以不傳遞任何參數時
分割空格,在英文中也就等同於分割單詞
for
word
in
lineList:
#迭代該行的每個單詞
count
=
count
+
1
#每迭代一次count+1
word
=
word[::-1]
#利用切片,反轉該單詞
print(word,
end
=
'
')
#
outfile.write(word
+
'
')
#將單詞寫入到newMsg.txt文件中
if
count
==
10:
#當單詞數量讀取到10個時
print('')
#列印一個空白行
outfile.write('\n')
#在newMsg.txt中寫入一個換行符(這應該是linux,
在windows下應該是\r\n)
count
=
0
#計數變數count
恢復成0
infile.close()
#關閉message.txt文件拘柄
outfile.close()
#關閉newMsg.txt文件拘柄
E. python切片的一些問題
name = "1234567890"
print(name)
print(name[::-2])#倒序,每兩個取一個。
print(name[4:1:-2]) #從4倒序到1,每兩個取一個。
print(name[8:1:-2]) #從8倒序到1,每兩個取一個。
str[0:3] #截取第一位到第三位的字元
str[:] #截取字元串的全部字元
str[6:] #截取第七個字元到結尾
str[:-3] #截取從頭開始到倒數第三個字元之前
str[2] #截取第三個字元
str[-1] #截取倒數第一個字元
str[::-1] #創造一個與原字元串順序相反的字元串
str[-3:-1] #截取倒數第三位與倒數第一位之前的字元
str[-3:] #截取倒數第三位到結尾
str[:-5:-3] #逆序截取
F. Python中字元串常用操作有哪些
字元串是 Python
中常用的數據類型,我們可以使用引號('或")來創建字元串,對字元串進行使用和操作,需要用到特定的函數,以下是常用的Python字元串操作方法:
1. capitalize()
作用:capitalize() 主要是用來實現字元串首字母大寫,其他字母小寫的功能。
實例:
1
2str1 = "oldboy"
print(str1.capitalize())
輸出結果:Oldboy
2. swapcase()
作用:swapcase() 主要是用來實現字元串大小寫反轉。
實例:
1
2str1 = " Oldboy"
print(str1.swapcase())
輸出結果:oLDBOY
3. title()
作用:title() 主要是用來實現字元串非字母隔開的部分,首字母大寫,其餘字母小寫。
實例:
1
2str1 = "Old boy e com"
print(str1.title())
輸出結果:Old Boy E Com
4. upper()
作用:upper() 主要是用來實現字元串所有字母全部大寫。
實例:
1
2str1 = "Oldboye"
print(str1.upper())
輸出結果:OLDBOYEDU
5. lower()
作用:lower() 主要是用來實現字元串所有字母全部小寫。
實例:
1
2str1 = "oLDBOYEDU"
print(str1.lower())
輸出結果:oldboye
6. center()
作用:center() 主要是用來實現字元串內容居中,填充物默認為空。
實例:
1
2
3str1 = "Oldboye"
print(str1.center(15))
print(str1.center(15,"*"))
輸出結果:
Oldboye
***Oldboye***
7. find()
作用:find() 主要作用是通過元素找索引,可以整體找,可以切片,找不到則返回-1。
實例:
1
2
3str1 = "Oldboye"
print(str1.find('b'))
print(str1.find('A'))
輸出結果:3 -1
8. index()
作用:index() 主要作用是通過元素找索引,可以整體找,可以切片,找不到會報錯。
實例:
1
2
3str1 = " Oldboye "
print(str1.index("b"))
print(str1.index("A"))
輸出結果:
0
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = "Oldboye"
print(str1.startswith("O"))
輸出結果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = " Oldboye "
print(str1.endswith("e"))
輸出結果:True
11. strip()
作用:strip() 主要作用是去除字元串前後兩端的空格或其他字元、換行符、tab鍵等。
實例:
1
2
3
4str1 = "***Oldboy***"
print(str1.strip("*")) #去除兩邊的*
print(str1.lstrip("*")) #去除左邊的*
print(str1.rstrip("*")) #去除右邊的*
輸出結果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替換字元串。
實例:
1
2str1 = "Oldboye"
print(str1.replace("boy","man"))
輸出結果:Oldmane
13. isalpha()
作用:isalpha()主要作用是要判斷字元串是否只由字母組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
str2 = 「Old boy e」
print(str1.isalpha())
print(str2.isalpha())
輸出結果:True False
14. isdigit()
作用:isdigit()主要作用是判斷字元串是否只由數字組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
str2 = 「520」
print(str1.isdigit())
print(str2.isdigit())
輸出結果:False True
15. format()
作用:format()主要作用是格式化字元串。
方式一:按位置傳參
1
2str1 = '我叫{},今年{}歲'.format('oldboy',30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式二:按索引傳參
1
2str1 = '我叫{0},今年{1}歲'.format('oldboy',30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式三:按key傳參
1
2str1 = '我叫{name},今年{age}歲'.format(age=30,name='oldboy')
print(str1)
輸出結果:我叫oldboy,今年30歲
16. count()
作用:count()主要作用是統計元素在字元串出現的次數。
1
2str1 = "oldboye"
print(str1.count(『o』)) #統計字元o在字元串中出現的次數
數據結果:2
G. python,字元串切片問題
aa[0:6] 表示取 第0,1,2,3,4,5 位的數據 所以是6個 123456
aa[:-1] 表示取開始到倒數第二位的數據 所以也是123456
就像 for i in range(7):
print i
0,1,2,3,4,5,6
最後一位 都不包括
H. 誰能跟我解釋下python的字元串反轉的原理
[::-1]實現翻轉功能。
Python 的切片功能實際上比很多程序員認為的更強大。
a = m [ 0 : 100 : 10 ] # 帶步進的切片(步進值=10)
注意:步進值為step
當step > 0 時
切片從 start(含start)處開始,到end(不含end)處結束,**從左往右**,每隔(step-1)(索引之間的差仍為step,但相隔的元素是step-1個)個元素進行一次截取。
這時,start 指向的位置應該在end指向的位置的左邊,否則返回值為空
當step < 0 時
切片從 start(含start)處開始,到end(不含end)處結束,**從右往左**,每隔(step-1)(索引之間的差仍為step,但相隔的元素是step-1個)個元素進行一次截取。
這時,start 指向的位置應該在end指向的位置的右邊,否則返回值為空
I. python 中關於字元串切片的一個問題
http://stackoverflow.com/questions/509211/pythons-slice-notation
slice表示一般是start:end:step
:3:-1 step是-1,表示從右開始,也就是end是3,start是-1,從右往左
所以等於是從3開始的字元串然後倒過來。
當然,看python源代碼最清晰了
J. python切片問題
題主你好,
字元串切片, 通常情況下有這么幾種情況:
a. 第1種情況, 起始索引和結束索引都未省略時, 得到的結果用我的話說是: 包前不包後, 這一點通過題主的問題可以得知,是知道這一點的.
舉例: a = '01234' a[2:4]的值為'23';
b.第2種情況,起始索引省略, 結束索引未省略, 此時起始索引默認值為0.
舉例來說: a = '012345' a[:2]等價於a[0:2],按照包前不包後的原則, 最後的結果: '01'
c.第3種情況,起始索引未省略, 結束索引省略, 此時結束索引默認值為被分片字元串的長度.
舉例來說: a = '01234' a[2:]等價於a[2:len(a)]也就是a[2:5], 還是按照包前不包後的原則,最後的結果: '234'
d.第4種情況, 起始索引和結束索引都省略, 則根據b和c所說的, 起始索引默認為0,結束索引默認為字元串的長度len(字元串).
舉例來說: a = '01234' a[:]等價於a[0:len(a)],也就是a[0:5], 還是按照包前不包後的原則, 最後得到結果: '01234'
--------
上面b,c情況的依據:
上面所說為分片索引也可以是負數, 負數是從右向左數, 與正數分片索引不同的是, 負數的分片索引起始值為-1, 正數的分片索引起始值為0.
舉例來說中: a = '01234', a[0:-1], 因為-1是字元串最後一個字元的索引, 再根據上面所說的包前不包後原則, 結果就是去掉最後一個字元,剩下的內容: '0123'
希望可以幫到題主, 歡迎追問.