python字符串和字典
很多序列的方法字符串同樣適用,
但是,字符串是不可變的,所以一些試圖改變字符串的方法是不可用的
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:
?? ??? ?返回值的列表,值的列表的迭代器。
總結
以上是生活随笔為你收集整理的python字符串和字典的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器根据什么来判定脚本失控?
- 下一篇: 《浪潮之巅》读书笔记汇总