1. 程式人生 > >python中的索引、切片(分片)、字串翻轉、字串拷貝、字串連線

python中的索引、切片(分片)、字串翻轉、字串拷貝、字串連線

字串是字元的有序集合,可以通過其位置來獲得具體的元素。在python中,字串中的字元是通過索引來提取的,索引從0開始。

1:python中的索引:string[index]

p='helloworld'
print p[4]  #結果是0
print p[-1]   #結果是d,最後一位

超出索引:IndexError: string index out of range

2:python中的分片,分片的含義是分片提取相應部分資料: 通常上邊界不包括在提取字串內

格式:string[頭下標:尾下標:步長] ,步長預設為1 越界不會報錯,取到結尾

  • 如果沒有指定值,則分片的邊界預設為0和序列的長度
  • str[1:3]獲取從偏移為1的字元一直到偏移為3的字串,不包括偏移為3的字串  
  • str[1:] 獲取從偏移為1的字元一直到字串的最後一個字元(包括最後一個字元)
  • str[:3] 獲取從偏移為0的字元一直到偏移為3的字串,不包括偏移為3的字串   
  • str[:-1] 獲取從偏移為0的字元一直到最後一個字元(不包括最後一個字串)   
  • str[:]  獲取字串從開始到結尾的所有元素                                            
  • str[-3:-1] 獲取偏移為-3到偏移為-1的字元,不包括偏移為-1的字元             
  • str[-1:-3]和str[2:0] 獲取的為空字元,系統不提示錯誤 
  • 分片的時候還可以增加一個步長,str[::2] ,表示步長為2
p='helloworld'
print p[0:4]  #結果為hell
print p[:]   #結果為helloworld
print p[0:5:2]  #結果為hlo

3:python中字串“拷貝” 分片中的 str[:]

4: python中字串“翻轉” 分片中的 [::-1]

name ='hello world'
print name[::-1]    #結果輸出 dlrow olleh

5:字串連線

+:可以用加號,需要先轉成string再做拼接

每連線一次,就要重新開闢空間,然後把字串連線起來,再放入新的空間,大量字串拼接時,效率低

name ='小明'
age = 12
print 
name + '今年'+ str(age) +'歲了啊!' 輸出:小明今年12歲了啊!
join 語法:'sep'.join(seq)
上面的語法即:以sep作為分隔符,將seq所有的元素合併成一個新的字串
name = 'ABCDEFGH'
print '+'.join(name) 輸出:A+B+C+D+E+F+G+H

注意*加號連線效率低是在連續進行多個字串連線的時候出現的,如果連線的個數較少,加號連線效率反而比join連線效率高

字串連線也可以使用之前說的 format和%

相關推薦

python索引切片分片字串翻轉字串拷貝字串連線

字串是字元的有序集合,可以通過其位置來獲得具體的元素。在python中,字串中的字元是通過索引來提取的,索引從0開始。1:python中的索引:string[index]p='helloworld' print p[4] #結果是0 print p[-1] #結果是d,

pythonxrange和range

log item .py 對象 nbsp net range all file 說到序列,我們第一想到的是一組有序元素組成的集合。同時,每個元素都有唯一的下標作為索引。 在Python中,有許多內界的序列。包括元組tuple,列表list,字符串str等。上面提到的序列

python的元類metaclass

優先 裝飾器 target {} pass get tac 搜索 items 認識python中元類的準備工作。 1,首先需要明白一個概念就是python中一切皆為對象。 input: class Trick(object): pass print type(‘1234

python的數組

print pre bsp 數組元素 如何 python clas 範圍 ber python如何取一定範圍的數組元素呢?   詳情看示例1--3 直接看代碼 1.分片 1 #取一定範圍的元素 2 lucky_number = [0,1,2,3,4,5,6] 3 #分片

Python操作mysql知識

python mysql 1.創建表Teacher:create table Teacher( teaId int not null, teaname varchar(100), age int, sex enum('M', 'F'), phone int);

python的時間模組time

可以從原始碼中看到time有如下的方法: Functions: time() -- return current time in seconds since the Epoch as a float clock() -- return CPU time since process start

PythonFlask基礎入門

資料庫基本操作 在Flask-SQLAlchemy中,插入、修改、刪除操作,均由資料庫會話管理。會話用db.session表示。在準備把資料寫入資料庫前,要先將資料新增到會話中然後呼叫commit()方法提交會話。 資料庫會話是為了保證資料的一致性,避免因部分更新導致資料不一致。提交操作把會

python學習之【第十七篇】:Python的面向物件

1.什麼是類和類的物件? 類是一種資料結構,我們可以用它來定義物件,後者把資料值和行為特性融合在一起,類是現實世界的抽象的實體以程式設計形式出現。例項是這些物件的具體化。類是用來描述一類事物,類的物件指的是這一類事物的一個個體。例如:“人”就是一個類,而男人,女人,小孩等就是“人”這個類的例項物件;再比如“

python的協程

協程 協程概念及目的 1、協程: 單執行緒實現併發、在應用程式裡控制多個任務的切換+儲存狀態 優點: 應用程式級別速度要遠遠高於作業系統的切換 缺點: 多個任務一旦有一個阻塞沒有切,整個執行緒都阻塞在原地,該執行緒內的其他的任務都不能執行了 一旦引入協程,就需要檢測單執行緒下所有的IO行為,

python的協程

asyncio asyncio 是幹什麼的? 非同步網路操作 併發 協程 python3.0時代,標準庫裡的非同步網路模組:select(非常底層) python3.0時代,第三方非同步網路庫:Tornado python3.4時代,asyncio:支援TCP,子程序 現在的asyn

python的協程

協程 1、協程: 單執行緒實現併發 在應用程式裡控制多個任務的切換+儲存狀態 優點: 應用程式級別速度要遠遠高於作業系統的切換 缺點: 多個任務一旦有一個阻塞沒有切,整個執行緒都阻塞在原地,該執行緒內的其他的任務都不能執行了 一旦引入協程,就需要檢測單執行緒下所有的IO行為, 實現遇到IO就切

[譯]Python 的 Socket 程式設計指南

說明 原作者 Nathan Jennings 是 Real Python 教程團隊的一員,他在很早之前就使用 C 語言開始了自己的程式設計生涯,但是最終發現了 Python,從 Web 應用和網路資料收集到網路安全,他喜歡任何 Pythonic 的東西—— re

Python 的 Socket 程式設計指南

原作者 Nathan Jennings 是 Real Python 教程團隊的一員,他在很早之前就使用 C 語言開始了自己的程式設計生涯,但是最終發現了 Python,從 Web 應用和網路資料收集到網路安全,他喜歡任何 Pythonic 的東西 —— realpython 譯

Python的魔術方法——用於比較的魔術方法

#魔術方法(二)——用於比較的魔術方法 #有時候我們需要比較兩個物件。比如哪個物件大,哪個物件小。如果我們 #不告訴python如何比較,那麼Python是不知道如何進行比較的。這時候 #我們需要使用一些魔術方法來達到我們的需求。 #__eq__(self

Python的Numpy模組1

1.什麼是Numpy?      Numpy   (Numeric Python)      Numpy系統是Python中的一種開源的數值計算擴充套件。        (1)   一個強大的N維陣列物件Array         (2)   比較成熟的(廣播) 函式

Python 的黑暗角落:生成器協程的排程問題

前作介紹了 Python 中的 yield 關鍵字。此篇介紹如何使用 yield 表示式,在 Python 中實現一個最基本的協程排程示例,避免 I/O 操作佔用大量 CPU 計算時間。 協程及其特點 協程是一種特殊的子程式,它可以在特定的位置暫停/恢復(而不是像

Python 的黑暗角落:模組與包

如果你用過 Python,那麼你一定用過 import 關鍵字載入過各式各樣的模組。但你是否熟悉 Python 中的模組與包的概念呢?或者,以下幾個問題,你是否有明確的答案? 什麼是模組?什麼又是包?from matplotlib.ticker import Format

Python 的黑暗角落:理解 yield 關鍵字

Python 是非常靈活的語言,其中 yield 關鍵字是普遍容易困惑的概念。 此篇將介紹 yield 關鍵字,及其相關的概念。 迭代、可迭代、迭代器 迭代(iteration)與可迭代(iterable) 迭代是一種操作;可迭代是物件的一種特性。 很多資料

pythoncsv模組用法詳細tcy

python csv模組  2018/12/23 # CSV以純文字儲存數和文字。檔案的每一行就代表一條資料,每條記錄包含由逗號分隔一個或多個屬性值。  1.說明: 1) 預設讀寫用逗號做分隔符(delimiter),雙引號作引用符(quotechar) 2) 用wri

python如何用序列list()轉化為矩陣int()

今天練習寫python程式碼時,遇到一個有趣的寫法: def relu_fun(x): x[x<0]=0 return x 結合上下文發現x是矩陣,猜測函式功能是根據x的值若小於0,則對應位的x就置為0,否則直接返回原來x的值。