[python]一行搞定字串排序
一般情況下,python中對乙個字串排序相當麻煩:
一、python中的字串型別是不允許直接改變元素的。必須先把要排序的字串放在容器裡,如list。
二、python中的list容器的sort()函式沒返回值。
所以在python中對字串排序需要好幾行**:
>>> s = "string"
>>> l = list(s)
>>> l.sort()
>>> s = "".join(l)
>>> s
'ginrst'
剛從c/c++等語言轉過來的程式設計師會覺得很不爽,因為在c/c++裡這些都是一行語句可以搞定的事情。所以我就想出一行把字串排序的方法:
>>> s = "string"
>>> s = "".join((lambda x:(x.sort(),x)[1])(list(s)))
>>> s
'ginrst'
因為用了lambda,稍為有點難理解,但想通了就好了~嘻嘻。
其實我花了很長時間去想有沒有方法不使用lambda達成同樣的效果,但我實在是想不到。如果有達人經過,就請給點提示吧~謝謝。
C 輸入一行字串
一.對於字元陣列 方法一 getline 讀入整行資料,它使用回車鍵輸入的換行符來確定輸入結尾。呼叫方法 cin.getline str,len 第乙個引數str是用來儲存輸入行的陣列名稱,第二個引數len是要讀取的字元數。include using namespace std int main 方...
C 讀入一行字串
在c 中,要讀取一行一共有三種方法 一.對於字元陣列 方法一 getline 讀入整行資料,它使用回車鍵輸入的換行符來確定輸入結尾。呼叫方法 cin.getline str,len 第乙個引數str是用來儲存輸入行的陣列名稱,第二個引數len是要讀取的字元數。1 include 2 using na...
C 讀入一行字串
getline 是 istream 類的成員函式,它有如下兩個過載版本 istream getline char buf,int bufsize istream getline char buf,int bufsize,char delim 第乙個版本從輸入流中讀取 bufsize 1 個字元到緩衝...