python 一行搞定字串排序

2021-08-22 06:35:33 字數 603 閱讀 8936

[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 個字元到緩衝...