python中關(guān)于reverse的代碼應(yīng)該怎么打?
3 回答

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
題目不允許使用reversed或者[::-1],下面另外提供兩種方法。
1. 反向for循環(huán)
1234567 | def reverse(text): ret = "" for i in range ( len (text) - 1 , - 1 , - 1 ): ret = ret + text[i] return ret print reverse( "#ab@cd!" ) |
2. 遞歸
12345678 | def reverse(text): n = len (text) - 1 if (n = = 0 ): return text[ 0 ] else : return text[n] + reverse(text[:n]) print reverse( "#ab@cd!" ) |

守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
1234 | li = [i for i in range ( 10 )] print (li) li.reverse() print (li) |
1,如上所示代碼,reverse 是 列表的一個(gè)方法,是對列表進(jìn)行原地反轉(zhuǎn)。
2 , 列表的reverse方法返回值為空值,如果使用不當(dāng)?shù)脑?,可能?huì)引起數(shù)據(jù)丟失,如下面的代碼所示
1234 | li = [i for i in range ( 10 )] print (li) li = li.reverse() print (li) #輸出為None |
和reverse方法一樣返回值為空的還有列表的sort方法。

慕的地10843
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
1234 | def reverse(text): return text[:: - 1 ] print reverse( '12345' ) |
添加回答
舉報(bào)
0/150
提交
取消