1. 程式人生 > >Python字串的連線、替換、擷取,以及字串格式化輸出,引號

Python字串的連線、替換、擷取,以及字串格式化輸出,引號

一、字串的連線

(1)以下這種方法效率比較低,一般剛開始學時有可能會犯這個錯誤:

s = ['a','b','c','d']
content = ' ' 
for i in a:
	content = content + i		#在迴圈連線字串時,每連線一次,就要重新開闢空間
print content

每次連線成新字串之後要存放到新的空間,這樣反覆,記憶體操作頻繁,每次都要計算記憶體空間,然後開闢記憶體空間,在釋放記憶體空間,效率非常低。在操作資料量比較多的時候,這個方法就很不適用了。

以下兩個方法比較優化一點:

(2)用字串的join方法:

s = ['a','b','c','d']
content = ' '
content = ''.join(s)   #引號之間可以新增連線符或不新增
print content

(3)用字串的替換佔位符替換:

a = ['a','b','c','d']
content = ' '
content = '%s%s%s%s' % tuple(a)
print content

二、字串分割

s = 'a,b,c'
s1 = s.split(',')   #s1=['a','b','c']
print(type(s1))   #<type 'list'>
也有splitlines()按行分割,相當於就是將split('\n')

還有.startswith(‘abc’)、.endswith(‘abc’)、.isalnum()是不是數字和字母、.isalpha()是不是字母、.isdigit()是不是數字、.isspace()是不是空串、.islower()是不是都是小寫、.isupper()是不是都是大寫、.istitle()是不是首字母大寫等函式用於判斷。

二、字串替換

字串的替換一般我們會用到下列兩種方法。例子a = ‘hello world’,把字串中的world換成python

(1)用字串本身的replace方法實現

a.replace('world','python')

(2)用正則表示式來替換

import re
strinfo = re.compile('world')
b = strinfo.sub('python',a)

三、字串擷取

python字串是有序集合,我們可以通過索引提取想要的字元,可以把python的字串當做字元列表來理解

python的字串列表有2種取值順序:(1)從左至右索引預設從0開始,最大範圍時字串長度減1;(2)從右至左索引預設從-1開始,做大範圍就是字串開頭

s = 'ILovePython'

s[0]的結果是I,s[-1]的結果是n

連續字串的讀取:s[1:5]的結果是Love,s[:-1]的結果是ILovePytho,s[:]的結果是ILovePython

四、字串去空格、大小寫、位置比較

字串可以當做陣列被訪問,但是不能被修改,如下面經過去空格之後,s原字串不會被修改

s = ‘ abc def ’

print(s.trip())		#去除前後空格 :abc def
print(s.lstrip())	#去除左邊的空格:abc def__
print(s.rstrp())	#去除右邊空格:___abc def
print(s)			#s沒有被修改
s = 'abcDEF'
print(s.upper())	#全部大寫:ABCDEF
print(s.lower())	#全部小寫:abcdef
print(s.capitalize())	#首字母大寫:AbcDEF

在python3中字串比較沒有cmp函式,直接用大於小於等於(==,>,<)進行比較

s1 = ‘abcdefg’
s2 = ‘aaaaaaa’
print(s1.index(‘abc’))
try:
	print(s2.index('abc'))
except ValueError:
	pass

五、字串格式化輸出

(1)元組佔位符

m = ‘python’
astr = ‘i love %s’ % m
print astr
(2)字串的format方法
m = 'python'
astr = 'i love {python}'.format(python=m)
print astr

(3)字典格式化字串

m = ‘python’
astr = ‘i love %(python)s’ % {'python:m'}
print astr
六、引用和拷貝

(1)引用

python一般內部賦值變數的話,都是傳個引用變數,這和C語言的傳址的概念差不多。舉個例子:a=[1,2,3]表示變數a儲存了這個列表的地址,可以使用id()來檢視a的記憶體地址。將b = a,打印出來的內容和地址和a是一樣的。這是因為變數a和變數b都是儲存了同一個列表的地址,對a、b中的一個進行修改的話,另外一個同時也會跟著變化。

(2)拷貝

而如果我們使用拷貝的話,修改a或b,另外一個不會被修改。這是因為拷貝是另外開了一個地址。

a=[1,2,3]

b = a[ : ] #將a的內容拷貝給b

a[0]=0

a結果是[0,2,3],b的結果還是[1,2,3]

七、python單引號、雙引號、三引號的區別

python的字串可以用單引號括起來,也可以用雙引號括起來,有了這兩種表示方式,就可以不用轉義字元了。比如a=“i love 'python'”和a="i love /'python/'"其實打印出來是一樣的,但是第一種兩種表示方式的巢狀引用可以不想第二個那樣還要用轉義。

而三引號的形式是用來輸入多行文字的,也就是說在三引號之間輸入的內容將被原樣保留,字串中間的單引號、雙引號不用轉義,不可見字串如/n、/t等也都會被保留。比如:

a='''%(name)s is 
a good boy,his age is %(age)s'''
b = a % {'name':'xiaoming','age':'20'}

print b的結果是:

xiaoming is
a good boy,his age is 20


相關推薦

Python字串連線替換擷取以及字串格式化輸出引號

一、字串的連線 (1)以下這種方法效率比較低,一般剛開始學時有可能會犯這個錯誤: s = ['a','b','c','d'] content = ' ' for i in a: content = content + i #在迴圈連線字串時,每連線一次,就要重新開闢

第4章:介紹python物件型別/4.1 python的核心資料型別/4.2 字串/4.2.3 字串查詢替換分解轉大小寫

字串查詢/替換/分解/轉大小寫 字串查詢 >>> S 'abcd' >>> S.find("bc") 1 替換 >>> S.replace("bc","xyz") 'axyzd' 分解 >>>

oracle date 和 字串 相互轉換字串:拼接替換擷取查詢

表結構:  插入date型別資料: 插入date資料方法是 to_date(字串,日期格式) ,sysdate 是當前系統時間,sysdate+1 表示在當前時間基礎上加1天 將字串型別 轉date 儲存到date型別中: select * from TEST_DAT

iOS NSString字串查詢擷取拆分替換驗證改變大小寫

NSString*str = @"aaaaaaaaa bbbbbbbbb ccccccccccccccccccc" @"sdafasdfwerwlkjsaldkfjklkdjs934523jkla

oracle操作字串:拼接替換擷取查詢長度判斷

1、拼接字串 1)可以使用“||”來拼接字串 select '拼接'||'字串' as str from dual 2)通過concat()函式實現 select concat('拼接', '字串') as str from dual 注:oracle的concat函式只支援兩個

php字串處理函式 字串查詢替換擷取

  (1)strcmp($str1,$str2)  //比較兩個字串是否相等,當結果為0時表示相等,為1時表示第一個字串大於第二個字串,為-1是第一個字串小於第二個字串(這是大於和小於只是位置上的比較,在ascii碼錶中後面的字元大於前面的字元) 1 /** 2 * strcmp($str

Python學習筆記(2)——字串常用方法(對齊替換拆分合併)

1. 字串對齊——center、ljust、rjust 通過在兩邊填充字元(預設空格)讓字串居中、左對齊、右對齊。 2. 查詢子串——find、index、count find:查詢子串,返回子串第一個字元的索引,如果沒找到返回-1。 index:查詢子串,返回子

java字串擷取替換刪除新增查詢等常用方法

1、length()字串的長度   例:char chars[]={'a','b'.'c'};     String s=new String(chars);     int len=s.length

linux shell 字串獲取長度替換擷取刪除等操作(持續更新)

測試字串:str=/xxx/file.txt.gz一、長度、變數:說明 表示式 例子 結果 獲取長度 ${#string} ${#str} 16 列出所有以prefix開頭的變數 ${!prefix*}、${!prefix@} ${!st@} str測試${

python元組 列表 (取值替換插入新增刪除)

1、元組 列表 字典 元組( 元組是不可變的) hello = (1,2,3,4,5) type(hello)   2、陣列(可變) myinfo = ['simida', 20, 'dalao', ['史蒂夫', 2000]]

C++基礎-string擷取替換查詢子串函式

搬運的部落格園的文章,侵刪 1. 擷取子串        s.substr(pos, n)    擷取s中從pos開始(包括0)的n個字元的子串,並返回        s.substr(pos)        擷取s中從從pos開始(包括0)到末尾的所有字元的子串,

"SQLServer工具中為什麼空格變點號""Oracle SQL按空格也變點號"結果格式變換SQL語句(重複替換擷取去空格去小數點後的位數)

我暑假時用觸屏板點選SQLServer,不知道怎麼個亂點亂按快捷鍵。。。就將空格用小點"·"代替了 (當然,我找過度娘,可都沒有對應的答案,只有說"Oracle按空格變點號”的問題答案,下面會給連結! 因此,看來,目前只有我遇到了???也許遇到了的人沒記錄在百度或其他網站,那

易學筆記-4.2.3 字串查詢替換分解轉大小寫

字串查詢/替換/分解/轉大小寫 字串查詢>>> S'abcd'>>> S.find("bc")1 替換>>> S.replace("bc","xyz")'axyzd' 分解>>> char.split(","

前端JS陣列的刪除新增方式以及字串和陣列的相互轉換陣列的合併

<script> var array=[1,3,5]; console.log(array); array.push(7,9); console.log("陣列後邊加入元素="+array); /

javascript 原生方法對dom節點的操作建立新增刪除替換插入複製移動等操作

<span style="font-size:18px;">/** * Created by hua on 2014/10/21. */ //查詢節點 document.getElementById("id");//通過id查詢,返回唯一的節點,如果有多個將

C語言中常用的字串操作(子串分割替換去前後空格遞迴實現字串反轉)

在C語言中,並沒有像java中對字串操作的封裝好的函式,在C語言中,都需要自己根據C語言函式庫來實現常用的字串操作 一、字串的分割,根據子串進行分割 #include<stdio.h>

[Python] Pandas 對資料進行查詢替換篩選排序重複值和缺失值處理

[TOC] 查詢和替換是日常工作中很常見的資料預處理操作,下面就來講解如何使用pandas模組中的函式對DataFrame中的資料進行查詢和替換。 ## 1. 資料檔案 [產品統計表.7z](https://files.cnblogs.com/files/feily/%E4%BA%A7%E5%93%81%E

jQuery-DOM操作之復制替換包裹節點

code 操作 所有 喜歡 傳遞 pen 傳遞參數 含義 新元素 1、復制節點 clone() $(function(){ $(‘ul li‘).click(function() { $(this).clone().

oracle字符串操作:拼接替換截取查找

串操作 ora sta osi 文章 replace str .html .com 一、拼接字符串 1、使用“||”來拼接字符串: select ‘拼接‘||‘字符串‘ as Str from student; 2、使用concat(param1,param2)函數實現

在企業級應用中我們如何通過Linux進行部署替換檢視日誌殺死程序?

用過Linux的人都知道,Linux的命令是非常多的,其實我們並不不需要去全學個遍。掌握最常用的命令之後,學習不常用的命令也不會很難,我們要學的是一種方法而不是為了技術而學技術。 檢視埠 在Linux使用過程中,我們需要了解當前系統開放了哪些埠,並且要檢視開放這些埠的具體程序和使用者,可