節內容python
一、列表、元組操做git
二、字符串操做api
三、字典操做app
四、集合操做ide
五、文件操做編碼
六、字符編碼與轉碼spa
列表是咱們之後最經常使用的數據類型之一,經過列表能夠對數據實現最方便的存儲、修改等操做。code
1 names = ['Alex',"Tenglan",'Eric']
1 >>> names[0] 2 'Alex' 3 >>> names[2] 4 'Eric' 5 >>> names[-1] 6 'Eric' 7 >>> names[-2] #還能夠倒着取 8 'Tenglan'
列表的使用0 開始的 經過列表的索引能夠得到列表的內容。-1 表明最後一個元素 -2 表明倒數第二個元素orm
取多個元素(切片是顧頭不顧尾,從左向右數)blog
>>> name=["Alex","Tenglan","Eric","Rain","Tom","Amy"] >>> name[-3:-1] ['Rain', 'Tom'] >>> name[0] 'Alex' >>> name[0::2] ['Alex', 'Eric', 'Tom'] >>> name[:4] ['Alex', 'Tenglan', 'Eric', 'Rain'] >>> name[4:] ['Tom', 'Amy'] >>> name[1:-1] ['Tenglan', 'Eric', 'Rain', 'Tom'] >>> name[2] 'Eric' >>>
>>> name.append("ksjdfha") >>> name ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', 'ksjdfha'] >>>
['Alex', 'Tenglan', 'Eric', 'Rain', '從eric後面插入試試新姿式', 'Tom', 'Amy', '我是新來的'] >>> del names[4] >>> names ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新來的'] >>> >>> names.remove("Eric") #刪除指定元素 >>> names ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新來的'] >>> names.pop() #刪除列表最後一個值 '我是新來的' >>> names ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
>>> name ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 'ksjdfha'] >>> name2=['xiaoming','xiaohua','xiaogang'] >>> name.extend(name2) >>> name ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 'ksjdfha', 'xiaoming', 'xiaohua', 'xia ogang']
>>> names ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3] >>> name_copy = names.copy() >>> name_copy ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3] >>> names.sort() #排序 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: int() < str() #3.0裏不一樣數據類型不能放在一塊兒排序了,擦 >>> names[-3] = '1' >>> names[-2] = '2' >>> names[-1] = '3' >>> names ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3'] >>> names.sort() >>> names ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
>>> names ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom'] >>> names.reverse() #反轉 >>> names ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
>>> names ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1'] >>> names.index("Amy") 2 #只返回找到的第一個下標
>>> names ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3] >>> names.count("Amy") 2
元組其實科列表差很少,也是存一組數,只是它一旦建立,表不能再修改,
names=('alex','jack','eric')
它只有兩個方法
count()
copy()
1 name.capitalize() 首字母大寫 2 name.casefold() 大寫所有變小寫 3 name.center(50,"-") '---------------------Alex Li----------------------' 4 >>> n4.ljust(40,"-") 'Hello 2orld-----------------------------' 5 >>> n4.rjust(40,"-") '-----------------------------Hello 2orld' 6 7 name.count('lex') 統計 lex出現次數 8 name.encode() 將字符串編碼成bytes格式 9 name.endswith("Li") 判斷字符串是否以 Li結尾------好比判讀一個郵件地址是否是.com 結尾 10 Name.startwith("li") 判斷字符串是否以li開頭 11 "Alex\tLi".expandtabs(10) 輸出'Alex Li', 將\t轉換成多長的空格 12 name.find('A') 查找A,找到返回其索引, 找不到返回-1 13 Name.rfind() 從右面開始查返回索引 14 >>>name=「huang22dzgs」 15 >>>name.rfind("g") 16 >>>10 17 >>>Name.find("g") 18 >>>5 19 format : 20 >>> msg = "my name is {}, and age is {}" 21 >>> msg.format("alex",22) 22 'my name is alex, and age is 22' 23 >>> msg = "my name is {1}, and age is {0}" 24 >>> msg.format("alex",22) 25 'my name is 22, and age is alex' 26 >>> msg = "my name is {name}, and age is {age}" 27 >>> msg.format(age=22,name="ale") 28 'my name is ale, and age is 22' 29 format_map 30 >>> msg.format_map({'name':'alex','age':22}) 傳一個字典進去 31 'my name is alex, and age is 22' 32 msg.index('a') 返回a所在字符串的索引 33 '9aA'.isalnum() 判讀字符串是數字或26個英文組成 True 34 'asjdkfASSD'.isalpha() 判讀是否純英文字符 35 36 '1D'.isdecimal() 判斷是否是10進制 37 '1a'.isidentifier() 判斷是否是一個合法的標識符 38 '12'.isdigit() 判斷是否整數 39 name.isnumeric 判斷是否是純數字和isdigit 等同 40 name.isprintable 41 name.isspace 42 name.istitle 每一個字符是否首字符大寫 43 name.isupper 是否全大寫 44 "|".join(['alex','jack','rain']) 'alex|jack|rain' 把一個列表變成字符串而且用|隔開 45 Name.split() 把一個字符串按照中間的空格分隔成一個列表 參數爲空 就是空格 分隔 參數寫「l」 就是l分隔的 可是 分隔後l就不見了 由於被當作分隔符了 46 >>>print('alex lil'.split('l')) 47 >>>['a','ex','i',''] 48 49 Name.strip() 去掉字符串兩邊的空格和回車 50 Name.lstrip() 去掉字符串左邊的空格和回車 51 Name.rstrip() 去掉字符串右邊的空格和回車 52 name.lower() 字符串全變小寫 53 Name.upper() 字符串全變大寫 54 'alex li'.replace('l','L') 使用L替換l 55 'alex li'.replace('l','L',1) 使用L替換l 只替換一個就寫第三個參數爲1 56 Name.swapcase() 字符串中的字符大寫換小寫 ,小寫換大寫 57 >>>'lex li'.zfill(50) 58 >>>0000000000000000000000lex li
字典是一種key-value 的數據類型(鍵值對),使用就像咱們上學使用的字典,經過筆畫,字母來查對應的詳細內容。
語法: info = { 'stu1101': "TengLan Wu", 'stu1102': "LongZe Luola", 'stu1103': "XiaoZe Maliya", }
>>> info["stu1104"] = "蒼井空" >>> info {'stu1102': 'LongZe Luola', 'stu1104': '蒼井空', 'stu1103': 'XiaoZe Maliya', 'stu1101': 'TengLan Wu'}
>>> info['stu1101'] = "武藤蘭" >>> info {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤蘭'}
>>> info {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤蘭'} >>> info.pop("stu1101") #標準刪除姿式 '武藤蘭' >>> info {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} >>> del info['stu1103'] #換個姿式刪除 >>> info {'stu1102': 'LongZe Luola'} >>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} >>> info {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} #隨機刪除 >>> info.popitem() ('stu1102', 'LongZe Luola')
>>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} >>> >>> "stu1102" in info #標準用法 True -----這樣能夠判斷一個key 是否存在。 在python 2中info.has key("1130") 等同於 stu1103 in info >>> info.get("stu1102") #獲取 有就返回keY相對應的value, 沒有就null 'LongZe Luola' >>> info["stu1102"] #同上,可是看下面-----這種方式適合肯定字典 中必定存在的 不然會報錯 'LongZe Luola' >>> info["stu1105"] #若是一個key不存在,就報錯,get不會,不存在只返回None Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'stu1105'