4 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
>>> 'hello world'[::-1]'dlrow olleh'
[begin:end:step]

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
s[::-1]
''.join(reversed(s))
.

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
快速回答(TL;DR)
例
### example01 -------------------
mystring = 'coup_ate_grouping'
backwards = mystring[::-1]
print backwards
### ... or even ...
mystring = 'coup_ate_grouping'[::-1]
print mystring
### result01 -------------------
'''
gnipuorg_eta_puoc
'''
詳細(xì)答復(fù)
背景
提供這一答復(fù)是為了解決@odigity引起的以下關(guān)切:
哇。一開始我對(duì)保羅提出的解決方案感到震驚,但當(dāng)我讀到第一條評(píng)論時(shí),我對(duì)這種恐懼退避三舍:“那是非常重要的節(jié)奏曲。干得好!”我感到非常不安,一個(gè)如此聰明的社區(qū)認(rèn)為使用如此神秘的方法來做一些如此基本的事情是個(gè)好主意。為什么不只是.反向()?
問題
語境
Python2.x Python 3.x 設(shè)想:
開發(fā)人員希望轉(zhuǎn)換一個(gè)字符串。 轉(zhuǎn)換是反轉(zhuǎn)所有字符的順序。
解
example 01生成所需的結(jié)果,使用
陷阱
開發(fā)人員可能會(huì)期望類似的 string.reverse()
土生土長(zhǎng)的習(xí)語 “)新開發(fā)人員可能無法閱讀解決方案 開發(fā)人員可能會(huì)嘗試實(shí)現(xiàn)他或她自己的版本。 string.reverse()
以避免切片表示法。 在某些情況下,切片表示法的輸出可能違反直覺: print 'coup_ate_grouping'[-4:] ## => 'ping'
相比較 print 'coup_ate_grouping'[-4:-1] ## => 'pin'
相比較 print 'coup_ate_grouping'[-1] ## => 'g'
例如,見實(shí)例02。 索引的不同結(jié)果 [-1]
可能會(huì)讓一些開發(fā)人員
理?yè)?jù)
string.reverse()
第02條
### example02 -------------------
## start (with positive integers)
print 'coup_ate_grouping'[0] ## => 'c'
print 'coup_ate_grouping'[1] ## => 'o'
print 'coup_ate_grouping'[2] ## => 'u'
## start (with negative integers)
print 'coup_ate_grouping'[-1] ## => 'g'
print 'coup_ate_grouping'[-2] ## => 'n'
print 'coup_ate_grouping'[-3] ## => 'i'
## start:end
print 'coup_ate_grouping'[0:4] ## => 'coup'
print 'coup_ate_grouping'[4:8] ## => '_ate'
print 'coup_ate_grouping'[8:12] ## => '_gro'
## start:end
print 'coup_ate_grouping'[-4:] ## => 'ping' (counter-intuitive)
print 'coup_ate_grouping'[-4:-1] ## => 'pin'
print 'coup_ate_grouping'[-4:-2] ## => 'pi'
print 'coup_ate_grouping'[-4:-3] ## => 'p'
print 'coup_ate_grouping'[-4:-4] ## => ''
print 'coup_ate_grouping'[0:-1] ## => 'coup_ate_groupin'
print 'coup_ate_grouping'[0:] ## => 'coup_ate_grouping' (counter-intuitive)
## start:end:step (or start:end:stride)
print 'coup_ate_grouping'[-1::1] ## => 'g'
print 'coup_ate_grouping'[-1::-1] ## => 'gnipuorg_eta_puoc'
## combinations
print 'coup_ate_grouping'[-1::-1][-4:] ## => 'puoc'
結(jié)語
另見
添加回答
舉報(bào)