字符串也是不改變的,具體方法如下:
name.capitalize() #首字母大寫name.casefold() #大寫全部變小寫>>> name='bolen'>>> name.capitalize()'Bolen'>>> name.casefold()'bolen'name.center() #定義寬度和添加的字符>>> name.center(50,'=')'======================bolen======================='name.count('bo') 統計 bo出現次數name.encode() 將字符串編碼成bytes格式>>> new=name.encode()>>> type(new)<class 'bytes'>name.endswith("en") 判斷字符串是否以 en結尾>>> 'Bolen/tZhang'.expandtabs(4)'Bolen Zhang 將/t轉換成多長的空格 name.find('A') 查找A,找到返回其索引, 找不到返回-1 format : >>> msg = "my name is {}, and age is {}" >>> msg.format("bolen",32) 'my name is bolen, and age is 32' >>> msg = "my name is {1}, and age is {0}" >>> msg.format("bolen",32) 'my name is 32, and age is bolen' >>> msg = "my name is {name}, and age is {age}" >>> msg.format(age=32,name="bolen") 'my name is ale, and age is 22'format_map >>> msg.format_map({'name':'alex','age':22}) 'my name is alex, and age is 22' #輸入字典msg.index('a') 返回a所在字符串的索引>>> 'adf9'.isalnum()True>>> '9'.isalnum()True>>> '9'.isdigit() 是否整數name.isnumeric name.isPRintablename.isspacename.istitle>>> name.title()'Bo Le Na'>>> name1=name.title()>>> name1'Bo Le Na'>>> name1.istitle()Truename.isupper "|".join(['alex','jack','rain'])'alex|jack|rain'maketrans >>> intab = "aeiou" #This is the string having actual characters. >>> outtab = "12345" #This is the string having corresponding mapping character >>> trantab = str.maketrans(intab, outtab) #先自己制作轉換關系表。 >>> str = "this is string example" >>> str.translate(trantab) 'th3s 3s str3ng 2x1mpl2' msg.partition('is') 輸出 ('my name ', 'is', ' {name}, and age is {age}') >>> "alex li, chinese name is lijie".replace("li","LI",1) 'alex LI, chinese name is lijie' msg.swapcase 大小寫互換 >>> msg.zfill(40) > """方法返回指定長度的字符串,原字符串右對齊,前面填充0。"""'00000my name is {name}, and age is {age}'>>> 'Hello world'.ljust(20,"-")'Hello world---------'>>> 'Hello world'.rjust(20,"*")'*********Hello world'name_define='tWst@123'>>> name_define.isidentifier()False #檢測一段字符串可否被當作標志符,即是否符合變量命名規則 def strip(self, chars=None): """ 移除兩端空白 """>>> name=' bole '>>> name' bole '>>> name.strip()'bole'字典是鍵值對的無序集合,且key不能重復。
定義
>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user004': 'tom'}增加
>>> userdb['user005']='baby'>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user004': 'tom', 'user005': 'baby'}修改
>>> userdb['user005']='angela'>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user004': 'tom', 'user005': 'angela'}刪除
字典的刪除有三種方式:pop,del和popitem,其中前兩種較常用。最后一種由于是隨機刪除元素的,一般來說并沒什么卵用。>>> userdb.pop('user003')'kity'>>> userdb{'user002': 'kobe', 'user001': 'bolen', 'user004': 'tom', 'user005': 'angela'}>>> del userdb['user004']>>> userdb{'user002': 'kobe', 'user001': 'bolen', 'user005': 'angela'}>>> userdb.popitem()('user002', 'kobe')>>>查找
>>> >>> 'user002' in userdb #標準用法True>>> userdb.get('user004')'tom'>>> userdb['user004']'tom'>>> userdb.get('user005')#注意get不到key就沒返回值,而下面的取法,get不到key就會報錯。>>> userdb['user005']Traceback (most recent call last): File "<pyshell#165>", line 1, in <module> userdb['user005']KeyError: 'user005'>>>多級嵌套
av_catalog = { "歐美":{ "www.youporn.com": ["很多免費的,世界最大的","質量一般"], "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"], "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"], "x-art.com":["質量很高,真的很高","全部收費,屌比請繞過"] }, "日韓":{ "tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓范了","聽說是收費的"] }, "大陸":{ "1024":["全部免費,真好,好人一生平安","服務器在國外,慢"] }}av_catalog["大陸"]["1024"][1] += ",可以用爬蟲爬下來"print(av_catalog["大陸"]["1024"])#ouput ['全部免費,真好,好人一生平安', '服務器在國外,慢,可以用爬蟲爬下來']其他
#獲取keys>>> userdb.keys()dict_keys(['user002', 'user003', 'user001', 'user004'])#獲取values>>> userdb.values()dict_values(['kobe', 'kity', 'bolen', 'tom'])#設置默認值,注意此方法是新加,不可修改。>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user006': '希特勒', 'user004': 'tom'}>>> userdb.setdefault('user006','bolenzhang')'希特勒'>>> userdb.setdefault('user006','bolenzhang')'希特勒'>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user006': '希特勒', 'user004': 'tom'}>>> userdb.setdefault('user001','bolenzhang')'bolen'>>> userdb{'user002': 'kobe', 'user003': 'kity', 'user001': 'bolen', 'user006': '希特勒', 'user004': 'tom'}#update>>> newb={'user110':'michal',9:6,1:1}>>> newb{9: 6, 'user110': 'michal', 1: 1}>>> userdb.update(newb)>>> userdb{1: 1, 'user001': 'bolen', 'user003': 'kity', 'user006': 'xitele', 'user004': 'tom', 9: 6, 'user002': 'kobe', 'user110': 'michal'}#獲取items>>> userdb.items()dict_items([(1, 1), ('user001', 'bolen'), ('user003', 'kity'), ('user006', 'xitele'), ('user004', 'tom'), (9, 6), ('user002', 'kobe'), ('user110', 'michal')])#通過一個列表生成默認dict,有個沒辦法解釋的坑,少用吧這個>>> dict.fromkeys([1,2,3],'test'){1: 'test', 2: 'test', 3: 'test'}字典的循環
#方法1>>> for key in userdb: print(userdb[key])1bolenkityxiteletom6kobemichal>>> userdb{1: 1, 'user001': 'bolen', 'user003': 'kity', 'user006': 'xitele', 'user004': 'tom', 9: 6, 'user002': 'kobe', 'user110': 'michal'}#方法2>>> for k,v in userdb.items(): print (k,v)1 1user001 bolenuser003 kityuser006 xiteleuser004 tom9 6user002 kobeuser110 michal集合是一個無序的,不重復的數據組合,它的主要作用如下:
1、去重,把一個列表變成集合,就自動去重了 2、關系測試,測試兩組數據之前的交集、差集、并集等關系
# 去重>>> b=[1,1,2,3,4,4]>>> s = set(b)>>> s{1, 2, 3, 4}s = set([3,5,9,10]) #創建一個數值集合 t = set("Hello") #創建一個唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(項在t中,但不在s中) d = t ^ s # 對稱差集(項在t或s中,但不會同時出現在二者中) 基本操作: t.add('x') # 添加一項 s.update([10,37,42]) # 在s中添加多項 使用remove()可以刪除一項: t.remove('H') len(s) set 的長度 x in s 測試 x 是否是 s 的成員 x not in s 測試 x 是否不是 s 的成員 s.issubset(t) s <= t 測試是否 s 中的每一個元素都在 t 中 s.issuperset(t) s >= t 測試是否 t 中的每一個元素都在 s 中 s.union(t) s | t 返回一個新的 set 包含 s 和 t 中的每一個元素 s.intersection(t) s & t 返回一個新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一個新的 set 包含 s 中有但是 t 中沒有的元素 s.symmetric_difference(t) s ^ t 返回一個新的 set 包含 s 和 t 中不重復的元素 s.copy() 返回 set “s”的一個淺復制新聞熱點
疑難解答