標籤:python
字串操作:
字串的 % 格式化操作:
str = "Hello,%s.%s enough for ya ?"values = (‘world‘,‘hot‘)print str % values輸出結果: Hello,world.hot enough for ya ?
模板字串:
#coding=utf-8from string import Template## 單個變數替換s1 = Template(‘$x, glorious $x!‘)print s1.substitute(x = ‘slurm‘)## 貨幣符號表示以及單個變數的替換s2 = Template("Make $$ selling $x!")print s2.substitute(x = ‘slurm‘)## 欄位變數的替換s3 = Template(‘A $thing must never $action .‘)d = {}d[‘thing‘] = ‘gentleman‘d[‘action‘] = ‘show his socks‘print s3.substitute(d)ps:safe_substitute 不會因缺少值或者不正確使用$字元而出錯。
字串格式化類型:
(1) %字元:標記轉換說明符的開始,就是開始替換。(2) -表示靠左對齊,+表示在轉換值之前加上加號或減號。0表示轉換值位元不夠則用0填充。(3) * 可以指定最小欄位寬度。(4) 點(.)後面跟上精度值。
字串方法:
(1)find:可以在一個較長的字串中尋找子字串,返回子串所在位置的最左端索引。如果沒有找到則返回-1.
print ‘With a moo-moo here, and a moo-moo there‘.find(‘moo‘)返回:7
(2)join方法:將字串拼接起來。
print ‘/‘.join((‘ ‘,‘usr‘,‘bin‘,‘env‘))輸出: /usr/bin/envps:和Google的guava有點像。
(3)lower方法: 返回字串的小寫字母片。
print ‘AK47‘.lower()輸出:ak47
(4)replace方法:返回某字串的所有匹配項均被替換之後的得到的字串。
‘This is a test‘.replace(‘is‘,‘ezz‘)輸出:Thezz ezz a test
(5)split方法:join的逆方法,將字串分隔成序列。
print ‘1+2+3+4+5‘.split(‘+‘)輸出:[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
(6)strip方法:去除兩側的字串,預設是空格字串,也可以指定相應的字串。
ps:另外可以參加lstrip和rstrip方法。
(7)translate方法:和 replace 方法一樣,可以替換字串中某些部分,但是和前者不同的是,translate方法只處理單個字元。它的優勢在於可以同時進行多個替換,有些時候比replace效率高的多。
ps:maketrans方法和translate方法類似。
字典的基本操作:
(1) dict方法:用來構造字典資料。
dict(name=‘Gumby‘,age=42)dict([(‘name‘,‘Gumby‘),(‘age‘,42)])ps:都是構造欄位的方法。
(2) 字典基本操作:
1. len(d) 返回d中項(鍵值)的數量。2. d[k]返回關聯到鍵k上的值。3. d[k]=v 將值v關聯到鍵k上。4. del d[k] 刪除鍵為k的項。5. k in d 檢查d中是否含有鍵為k的項。
(3) copy 方法返回一個具有相同鍵值對的新字典。
(4) fromkeys:方法使用給定的鍵建立新的字典,每個鍵對應的值為None。
print {}.fromkeys([‘name‘,‘age‘])輸出:{‘age‘: None, ‘name‘: None}
(5) get方法:get方法是個更寬鬆的字典項方法。
d = {}d[‘name‘] 如此訪問時會報錯。d.get(‘name‘)訪問時,如果不存在會返回None。
(6) haskey: haskey方法可以檢查字典中是否含有給出的鍵。d.has_key(k) 相當於 k in d。
(7) items和iteritems方法:
items方法會將字典按照鍵值元組列表的形式返回,但沒有順序。iteritems和items類似,但是返回的是迭代器。
(8) keys和iterkeys和item類似,這個是返回key的列表或者迭代器。
(9) values方法以列表形式返回字典中的值,和keys或iterkeys不同的是,返回的值可以包含重複值。
(10) update方法可以用一個字典來更新另外一個字典。
Python字串和字典相關操作