第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

用Python反轉(zhuǎn)字符串

用Python反轉(zhuǎn)字符串

蕪湖不蕪 2019-05-30 13:02:25
用Python反轉(zhuǎn)字符串沒有內(nèi)置的reverse函數(shù)用于Python的str對(duì)象。實(shí)現(xiàn)此方法的最佳方法是什么?如果提供一個(gè)非常簡(jiǎn)潔的答案,請(qǐng)?jiān)敿?xì)說明它的效率。例如,是否str對(duì)象被轉(zhuǎn)換為不同的對(duì)象等。
查看完整描述

4 回答

?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

不如:

>>> 'hello world'[::-1]'dlrow olleh'

這是擴(kuò)展切片語法。它通過做[begin:end:step]-通過離開開始和結(jié)束并指定一個(gè)步驟-1,它將反轉(zhuǎn)一個(gè)字符串。


查看完整回答
反對(duì) 回復(fù) 2019-05-30
?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

@Paolo‘ss[::-1]是最快的;一種較慢的方法(可能更易讀,但這一點(diǎn)值得商榷)是''.join(reversed(s)).


查看完整回答
反對(duì) 回復(fù) 2019-05-30
?
翻閱古今

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)所有字符的順序。

陷阱

  • 開發(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ù)

Python有一個(gè)特殊的情況需要注意:字符串是可迭代類型。

排除string.reverse()方法是鼓勵(lì)python開發(fā)人員充分利用這種特殊環(huán)境的力量。

簡(jiǎn)單地說,這意味著字符串中的每個(gè)單獨(dú)字符都可以很容易地作為元素順序排列的一部分來操作,就像其他編程語言中的數(shù)組一樣。

要理解這是如何工作的,回顧一下示例02可以提供一個(gè)很好的概述。

第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é)語

這個(gè)認(rèn)知負(fù)荷與理解python中的片表示法是如何工作相關(guān)的,對(duì)于一些不愿投入大量時(shí)間學(xué)習(xí)這種語言的采用者和開發(fā)人員來說,這確實(shí)是太過了。

然而,一旦基本原理被理解,這種方法相對(duì)于固定的字符串操作方法的威力可能是相當(dāng)有利的。

對(duì)于那些不這樣認(rèn)為的人,有其他方法,例如lambda函數(shù)、迭代器或簡(jiǎn)單的一次性函數(shù)聲明。

如果需要的話,開發(fā)人員可以實(shí)現(xiàn)她自己的字符串.反向()方法,但是了解python這方面的基本原理是很好的。

另見


查看完整回答
反對(duì) 回復(fù) 2019-05-30
  • 4 回答
  • 0 關(guān)注
  • 932 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)