很多序列的方法字串同樣適用,
但是,字串是不可變的,所以一些試圖改變字串的方法是停用
1 字串格式化
1)用元組或者字典格式化字串
format = "hello,%s.s% enough for you?"
values = ('world','Hot')
format % values
跟C格式化類似
2)模板字串
string模組提供了模板字串來格式化字串
from string import Template
s = Template($x,glorious $x!)
s.substitute(x = 'slurm')
將x用slurm替換
一些詳細的技巧用法略
格式化轉換類型,欄位寬度精度,符號位,對齊,填充等參加一些手冊
2 字串方法
1)find
尋找子字串,返回最左端索引
s.find(subs)
2)join
連接字串
3)lower
4)replace
所有匹配項均被替代
5)split
分割字串 分隔字元不包含
.........
..........
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
字典中的值沒有特定的順序
key可以是數字,字串,元組(必須是不可變類型,不能是列表)
phonebook = {'jmz':'5153','usr1':'1234','usr2':'4321'}
1) dict函數
通過其他映射或者索引值序列來建立字典:
用包含2個元組的列表來建立字典:
items = [('key1','value1'),('key2','value2'),('key3','value3')]
d = dict(items)
{'key1':'value1','key2':'value2','key3':'value3'} 可能不是這個順序
通過關鍵字參數來建立字典:
d = dict(key1 = 'value1',key2 = 'value2',key3 = 'value3')
也將得到上述結果
dict函數不是真正的函數,它是個類型,類似於list,tuple,str一樣。
2)基本的字典操作
假設d是一個字典:
len(d)字典長度
d[key]字典中鍵key的值
d[key] = value 賦值(不存在key就自動添加)
del d[key] 刪除鍵為key的項
key in d 檢查是否在字典中
3)字典也可以用來格式化
在每個轉換說明符(%)後面加上鍵(用圓括弧括起來)再跟上其他說明符:
例如:%(value)s
phonebook = {'jmz':'5153','usr1':'10086'}
"jmz's phone number is %(jmz)s." % phonebook
用這種方式只要給出的鍵能夠在字典中找到,就可以獲得任意數量的轉換說明符。
4)一些字典方法
clear:
原地操作(無傳回值),清除字典中所有項
copy:淺複製和深複製
y = x.copy()
y = deepcopy(x)
fromkeys:
使用給定的鍵建立新的字典:預設值是None
>>>{}.fromkeys(['key1','key2'])
>>>{'key1':None,'key2':None}
或者:
>>>dict.fromkeys(['key1','key2'])
一樣的效果
get:
一般來說,範文不錯在的字典項會出錯,如:
>>>print d[name]
而
>>>print d.get('name')就會預設返回None
has_key:
返回True或者False
>>>d.has_key('jmz')
items和iteritems:
items方法將字典的項目以列表方法返回:
d = {'key1':'value1','key2':'value2'}
>>>d.items()
>>>[('key1','value1'),('key2','value2')]
iteritems返回的是針對items的迭代對象
>>>it = d.iteritems() #it是上述列表的迭代器對象
>>>list(it) #可以將迭代器轉換成列表
>>>[('key1','value1'),('key2','value2')]
keys和iterkeys:
將鍵以列表形式返回,鍵的迭代器
pop:
d.pop('key') 有傳回值,並移除
popitem:
d.popitem() 彈出隨機的項目,因為字典是無序的
setdefault:
>>>d.setdefault('key','default_value')
當key不存在時,返回預設值並更新字典,若key已經存在,就返回它的值,不更新字典,相當於這句話沒作用
update:
利用一個字典去更新另一個字典:
>>>d.update(dd)
將dd中的項目添加到d中去,如果重複,就覆蓋。
values和itervalues:
傳回值的列表,值的列表的迭代器。