1. 程式人生 > >字符串、列表、字典和集合

字符串、列表、字典和集合

disjoint 大寫 居中 編碼 ros 位置 itl 臨時 字符

一、字符串常用方法

 1 #!/usr/bin/env python
 2 #created by Baird
 3 
 4 str = "my name is Baird."
 5 str2= "my name is {name},I‘m from {nation}"
 6 
 7 print(str.capitalize())     #轉換成大寫
 8 print(str.count("a"))       #統計字符a出現次數
 9 print(str.center(50,"*"))   #字符串居中顯示,長度50,不足時用*填充
10 print(str.endswith("rd."))  #
判斷是否以 rd. 結束 11 print(str.expandtabs(tabsize=30)) #將\t轉換成30個空格 12 print(str.find("name")) #返回 name 第一次出現的位置,失敗返回-1 13 print(str2.format(name=Baird,nation=China)) #格式化輸出 14 print(str2.format_map({name:Baird,nation:China})) #以字典格式化輸出 15 print("abc123".isalnum()) #是否為純拉丁字符和阿拉伯數字
16 print("abc".isalpha()) #是否為純拉丁字符 17 print("123".isdigit()) #是否為整數 18 print("123x".isdecimal()) #是否為十進制數 19 print(str.islower()) #是否為小寫 20 print("ABC".isupper()) #是否為大寫 21 22 print("+".join([1,2,3])) #將 + 穿插在123之中,輸出為 1+2+3 23 24 print(str.ljust(50,"
*")) #字符串居左,長度不足50時用*填充 25 print(str.rjust(50,"*")) #字符串居右,長度不足50時用*填充 26 27 print("ABC".lower()) #轉換成小寫 28 print("abc".upper()) #轉換成大寫 29 30 print("\n123\n".strip()) #去除字符串中的換行 31 print("\n456\n".lstrip()) #去除字符串左邊的換行 32 print("\n789\n".rstrip()) #去除字符串右邊的換行 33 34 encryption = str.maketrans("ni","52") #以n->5,i->2的形式,返回編碼的字典 35 print(encryption) 36 print(str.translate(encryption)) #以encryption(字典類型)進行編碼 37 38 decryption = str.maketrans("52","ni") #解碼 39 print(str.translate(encryption).translate(decryption)) #解碼 40 41 print("abac".replace("a","A",1)) #將字符串中第一個 a 轉換成 A 42 43 print(str.rfind("m")) #返回最後一個 m 的位置 44 print(str.find("m")) #返回第一個 m 的位置 45 46 print(str.split()) #分割字符串為列表 47 print(str.split("m")) #m為分割點 48 49 print("abcABC".swapcase()) #大小寫互換 50 51 print("english speech and pronunciation".title()) #英文單詞首字母變大寫

二、列表常用方法

 1 #!/usr/bin/env python
 2 #created by Baird
 3 
 4 names = ["托塔天王","玉皇大帝","孫悟空","唐僧","白龍馬","孫悟空"]
 5 
 6 print(names[0:2])   #切片,左閉合右開
 7 print(names[0:-1])  #-1表示從右數第一個
 8 print(names[-2:])   #從倒數第二個到最後
 9 
10 names.append("豬八戒") #添加元素
11 print(names)
12 
13 names.insert(1,"楊戩")    #插入元素,位置1處開始所有元素後移
14 print(names)
15 
16 names[1] = "哪咤"     #修改下標為1的元素
17 print(names)
18 
19 #names.remove("哪咤")    #按值刪除
20 #del names[1]           #按位置刪除
21 names.pop(1)            #按位置刪除
22 print(names)
23 
24 print(names.count("孫悟空"))             #統計
25 print(names[names.index("孫悟空")])      #按值查找,index取下標
26 
27 names.reverse()                #反轉
28 print(names)
29 
30 names.sort()                   #排序
31 print(names)
32 
33 names2 = [1,2,3,4]
34 names.extend(names2)           #擴展
35 print(names)
36 
37 del names2               #刪除names2後不影響names
38 print("line38",names)
39 
40 
41 names4 = ["托塔天王",["玉皇大帝","王母娘娘"],"孫悟空","唐僧","白龍馬","孫悟空"]
42 names5=names4.copy()    #列表中的列表復制方式為引用,names5[1]和names4[1]的值始終一致
43 names4[0]="沙悟凈"
44 names4[1][1]="如來佛祖"
45 print("names5",names5)
46 print("names4",names4)

三、字典常用方法

 1 #!/usr/bin/env python
 2 #created by Baird
 3 
 4 #字典是無序的
 5 info = {
 6     1001:張無忌,
 7     1002:張三豐,
 8     1003:張翠山,
 9     1004:楊逍
10 }
11 
12 print(info.get(1006))     #按key查找,失敗返回None
13 print(1003 in info)       #按key 查找,返回bool
14 
15 info[1005] = 白眉鷹王   #添加元素
16 print(info)
17 print(info.values())    #只打印值
18 
19 del info[1005]        #按key刪除
20 print(info)
21 
22 info.setdefault(1001,趙敏)
23 print(info)
24 
25 info.setdefault(1005,趙敏)    #添加元素,同add
26 print(info)
27 
28 info2={
29     1001:孫悟空,
30     1007:唐僧
31 }
32 info.update(info2)      #以字典info2為base,更新字典info,key存在則修改值,不存在則增加鍵值對
33 print(info)
34 
35 print(info.items())     #字典轉換成列表
36 
37 c = dict.fromkeys([1,2,3],temp)      #創建具有臨時值的字典,1、2、3為key,值均為temp
38 c[1] = ball
39 print(c)
40 
41 c = dict.fromkeys([1,2,3],{name:Jack})   #創建具有臨時值的字典,三個key的值均為同一引用
42 c[1][name] = Ross
43 print(c)

四、集合基本操作

 1 #!/usr/bin/env python
 2 #created by Baird
 3 
 4 list_1 = [1,2,3,4,5,6,7]
 5 
 6 list_1 = set(list_1)    #創建集合
 7 
 8 print(list_1)            #集合是無序的
 9 print(type(list_1))
10 
11 list_2 = set([1,2,3])
12 
13 print(list_1.intersection(list_2))  #交集 相當於 print(list_1 & list_2)
14 print(list_1.union(list_2))         #並集 相當於 print(list_1 | list_2)
15 print(list_1.difference(list_2))    #相當於 print(list_1 - list_2)
16 print(list_1.issubset(list_2))     #子集判斷嗎,list1是否屬於list2
17 print(list_1.issuperset(list_2))   #父集判斷
18 print(list_1.symmetric_difference(list_2))
19 # (list_1 & list_2) - (list_1 | list_2) 或 list_1 ^ list_2
20 
21 print(list_1.isdisjoint(list_2))   #若無交集,則為True
22 
23 list_1.add(10)    #添加一個元素
24 print(list_1)
25 list_1.update([11,12,13])   #添加多個元素
26 print(list_1)
27 list_1.remove(13)      #刪除一個元素
28 print(list_1)
29 list_1.discard(12)      #元素存在則刪除,不存在則忽視
30 print(list_1)
31 
32 if 11 in list_1:     #元素存在判斷
33     print("Yes")
34 else:
35     print("No")

字符串、列表、字典和集合