眾所周知,python中的字符串是無法改變的,反轉一個字符串自然要創建一個拷貝;最簡單的方法,當然是步長為“-1”的切片:
result = astring[::-1]
如果要是按單詞來反轉,需要三步完成:字符串--->單詞列表、反轉列表、單詞列表--->字符串;
result = astring.split()
result.reverse()
result = ' '.join(result)
如果喜歡簡練和緊湊的一行代碼,可以這樣做:result = ' '.join(astring.split()[::-1])
但是[::-1]降低了可讀性,不過也可以這樣寫:result = ' '.join(reversed(astring.split()))
假設一下情形:在處理字符串的同時,保證不改變空格的個數,顯然上述方法無法奏效,這就到了正則表達式出場的時候了:
import re
result = re.split(r'(\s+)', astring)
result.reverse()
result = ''.join(result) #注意''中間沒有空格哦
同樣一行也可以完成這個任務:result = ''.join(re.split(r'(\s+)', astring)[::-1])
總結:很遺憾,這篇文章起初的寫法要比這樣好,可由于意外丟失了未完成的初稿,倒是靈感全無,盡最大努力,寫成了這樣;
《Python CookBook2》 第一章 文本 - 去字符串兩端的空格 &;&; 合并字符串 &;&; 將字符串逐字符或者逐詞反轉
去字符串兩端的空格 任務: 獲得一個開頭和末尾都沒有多余空格的字符串. 解決方案: 字符串對象的lstrip.rstrip和strip 方法正是為這種任務而設計的.這幾個方法都不需要參數,它們會直接返 ...
Python字符串逐字符或逐詞反轉方法
Python字符串逐字符或逐詞反轉方法 這篇文章主要介紹了Python字符串逐字符或逐詞反轉方法,本文對逐字符或逐詞分別給出兩種方法,需要的朋友可以參考下 目的 把字符串逐字符或逐詞反轉過來,這個蠻有 ...
【python】-- 字符串、字符編碼與轉碼
字符串 字符串是 Python 中最常用的數據類型.我們可以使用引號('或")來創建字符串. 創建字符串很簡單,只要為變量分配一個值即可:訪問子字符串,可以使用方括號來截取字符串: var1 ...
python 判斷字符串中字符類型的常用方法
s為字符串 s.isalnum()?所有字符都是數字或者字母 s.isalpha()?所有字符都是字母 s.isdigit()?所有字符都是數字 s.islower()?所有字符都是小寫 s.isup ...
python統計字符串中字符個數
str = "xxx" result = {} for i in set(str):#set將字符串轉為集合對象,用于去重,減少計算量 result[i] = str.count( ...
python非字符串與字符產鏈連接
第一種辦法: "hello" +' '+str(110) 輸出結果: 'hello 110' 第二種辦法: import numpy x = 110 print 'hello(%d ...
JavaScript字符串和字符數組
字符串 字符串與字符數組: 字符串:var a = 'ddd'; 字符數組:var arr = 'f','o','o' 相同點: 1.都是類數組 2.都有length屬性 3.都有indexOf()和 ...
Python中的字符串與字符編碼
本節內容: 前言 相關概念 Python中的默認編碼 Python2與Python3中對字符串的支持 字符編碼轉換 一.前言 Python中的字符編碼是個老生常談的話題,同行們都寫過很多這方面的文章. ...
【轉】Python中的字符串與字符編碼
[轉]Python中的字符串與字符編碼 本節內容: 前言 相關概念 Python中的默認編碼 Python2與Python3中對字符串的支持 字符編碼轉換 一.前言 Python中的字符編碼是個老生常 ...
隨機推薦
Git--分布式版本控制系統
使用Git實現多人協作開發 1.簡述 每創建一個大的web項目都會有團隊協作完成, 然這個過程有可能就像畢業生寫論文的過程, 這個過程會有很多...修改的版本, 我們的項目也是會經過無休止的改需求, ...
laravel Restful
參考:http://www.cnblogs.com/youxin/p/3967274.html http://scotch.io/tutorials/simple-laravel-crud-with- ...
轉發:maven打包時始終出現以下提示:-source 1.3 中不支持泛型(請使用 -source 5 或更高版本以啟用泛型)
maven打包時始終出現以下提示: 1.-source 1.3 中不支持泛型(請使用 -source 5 或更高版本以啟用泛型)List userList= new Array ...
上傳圖片預覽,支持IE6
//說明:圖片上傳預覽插件 //上傳的時候可以生成固定寬高范圍內的等比例縮放圖 //參數設置: //width 存放圖片固定大小容器的寬 //height 存放圖片固定大小容器的高 //imgDiv ...
那些容易遺忘的web前端問題
背景: 年底將至,本人這只才出門的前端菜鳥,終于有空閑的時間來整理一下最近投簡歷時出現的問題.有的是經常使用但是沒有仔細留意造成的:有的是個人認為根本沒人使用而忽略的.為了下次不出現這種錯誤,進行一下 ...
MVC框架實例構建
轉自:http://www.cnblogs.com/levenyes/p/3290885.html MVC全名是Model View Controller,是模型(model)-視圖(view)-控制 ...
Anaconda3下安裝Anaconda2
一.下載軟件 下載Anaconda Python3.6版本和Anaconda Python2.7版本.下載地址:https://www.anaconda.com/download/ 下載需要FQ,也可 ...
洛谷P2894 [USACO08FEB]酒店Hotel [線段樹]
題目傳送門 酒店 題目描述 The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and ...
java 使用正則判斷是不是一個數字
public class Numeric { public static void main(String[] args) { String string = "-1234.15" ...
Reactor模式,或者叫反應器模式 - 為什么用多路io復用提供吞吐量
Reactor這個詞譯成漢語還真沒有什么合適的,很多地方叫反應器模式,但更多好像就直接叫reactor模式了,其實我覺著叫應答者模式更好理解一些.通過了解,這個模式更像一個侍衛,一直在等待你的召喚,或 ...