設s='abcdefg',s[0:5:-1]與s[:5:-1]、s[0:0:-1]與s[0::-1]、s[:0:-1]與s[::-1]結果不一樣,請教這是為什么?
uj5u.com熱心網友回復:
現在學編程都不看書了嗎? Google不會上, 百度也不用了嗎?https://www.jianshu.com/p/15715d6f4dad
uj5u.com熱心網友回復:
切片操作 object[start_index: end_index: step]分析步驟:
1,step為正則正向切片,為負則反向切片;
2,如果start_index和end_index均為數字
(1)正向切片時start_index指向的元素必須在end_index指向元素的左邊,否則結果為空;
(2)反向切片時start_index指向的元素必須在end_index指向元素的右邊,否則結果為空;
3,如果start_index省略,則代表從起始端點開始切片。即如果step為正,start_index→s[0];如果step為負,start_index→s[len(s)-1];
4,如果end_index省略,則代表在終止端點停止切片,且切片包含end_index所指向的元素。即如果step為正,end_index→s[len(s)-1](包括s[len(s)-1]);如果step為負,start_index→s[0](包括s[0])。
根據以上準則分析:
s='abcdefg'
print(s[0:5:-1]) # 反向,起點a,終點f,結果是空
print(s[:5:-1]) # 反向,起點g,終點f,結果是g
print(s[0:0:-1]) # 反向,起點a,終點a,結果是空
print(s[0::-1]) # 反向,起點a,終點a(包括),結果是a
print(s[:0:-1]) # 反向,起點g,終點a,結果是gfedcb
print(s[::-1]) # 反向,起點g,終點a(包括),結果是gfdecba
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/28354.html
