2.python數據類型

字符串(string)

1.字符串經常使用功能

複製代碼
name = 'derek'
print(name.capitalize())    #首字母大寫  Derek
print(name.count("e"))      #統計字符串出現某個字符的個數  2
print(name.center(10,'*'))  #打印30個字符,不夠的「*」補齊   **derek***
print(name.endswith('k'))   #判斷字符串是否以"k"結尾   True

print('244'.isdigit())      #判斷字符是否爲整數      True
print('+'.join(['1','2','3']))   #把join後的內容加入到前面字符串中,以+爲分割符   1+2+3
print('\n123'.strip())       #strip去掉換行符
print("1+2+3+4".split("+"))   #以+爲分隔符生成新的列表,默認不寫爲空格    ['1', '2', '3', '4']
複製代碼
msg = 'my name is {name} and i am {age} old'
print(msg.format(name='derek',age=20))

my name is derek and i am 20 old

2.字符串內置方法

 1 # string.capitalize()                                  把字符串的第一個字符大寫
 2 # string.center(width)                                 返回內容是原字符串居中,並使用空格填充至長度爲 width 的新字符串
 3 # string.count(str, beg=0, end=len(string))            返回 str 在 string 裏面出現的次數,若是 beg 或者 end 指定則返回指定範圍內 str 出現的次數
 4 # string.decode(encoding='UTF-8', errors='strict')     以 encoding 指定的編碼格式解碼 string,若是出錯默認報一個 ValueError 的 異 常 , 除 非 errors 指 定 的 是 'ignore' 或 者'replace'
 5 # string.encode(encoding='UTF-8', errors='strict')     以 encoding 指定的編碼格式編碼 string,若是出錯默認報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
 6 # string.endswith(obj, beg=0, end=len(string))         檢查字符串是否以 obj 結束,若是beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,若是是,返回 True,不然返回 False.
 7 # string.expandtabs(tabsize=8)                         把字符串 string 中的 tab 符號轉爲空格,tab 符號默認的空格數是 8。
 8 # string.find(str, beg=0, end=len(string))             檢測 str 是否包含在 string 中,若是 beg 和 end 指定範圍,則檢查是否包含在指定範圍內,若是是返回開始的索引值,不然返回-1
 9 # string.index(str, beg=0, end=len(string))            跟find()方法同樣,只不過若是str不在 string中會報一個異常.
10 # string.isalnum()                                     若是 string 至少有一個字符而且全部字符都是字母或數字則返回 True,不然返回 False
11 # string.isalpha()                                     若是 string 至少有一個字符而且全部字符都是字母則返回 True,不然返回 False
12 # string.isdecimal()                                   若是 string 只包含十進制數字則返回 True 不然返回 False.
13 # string.isdigit()                                     若是 string 只包含數字則返回 True 不然返回 False.
14 # string.islower()                                     若是 string 中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是小寫,則返回 True,不然返回 False
15 # string.isnumeric()                                   若是 string 中只包含數字字符,則返回 True,不然返回 False
16 # string.isspace()                                     若是 string 中只包含空格,則返回 True,不然返回 False.
17 # string.istitle()                                     若是 string 是標題化的(見 title())則返回 True,不然返回 False
18 # string.isupper()                                     若是 string 中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是大寫,則返回 True,不然返回 False
19 # string.join(seq)                                     以 string 做爲分隔符,將 seq 中全部的元素(的字符串表示)合併爲一個新的字符串
20 # string.ljust(width)                                  返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串
21 # string.lower()                                       轉換 string 中全部大寫字符爲小寫.
22 # string.lstrip()                                      截掉 string 左邊的空格
23 # string.maketrans(intab, outtab])                     maketrans() 方法用於建立字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示須要轉換的字符,第二個參數也是字符串表示轉換的目標。
24 # max(str)                                             返回字符串 str 中最大的字母。
25 # min(str)                                             返回字符串 str 中最小的字母。
26 # string.partition(str)                                有點像 find()和 split()的結合體,從 str 出現的第一個位置起,把 字 符 串 string 分 成 一 個 3 元 素 的 元 組 (string_pre_str,str,string_post_str),若是 string 中不包含str 則 string_pre_str == string.
27 # string.replace(str1, str2,  num=string.count(str1))  把 string 中的 str1 替換成 str2,若是 num 指定,則替換不超過 num 次.
28 # string.rfind(str, beg=0,end=len(string) )            相似於 find()函數,不過是從右邊開始查找.
29 # string.rindex( str, beg=0,end=len(string))           相似於 index(),不過是從右邊開始.
30 # string.rjust(width)                                  返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串
31 # string.rpartition(str)                               相似於 partition()函數,不過是從右邊開始查找.
32 # string.rstrip()                                      刪除 string 字符串末尾的空格.
33 # string.split(str="", num=string.count(str))          以 str 爲分隔符切片 string,若是 num有指定值,則僅分隔 num 個子字符串
34 # string.splitlines(num=string.count('\n'))            按照行分隔,返回一個包含各行做爲元素的列表,若是 num 指定則僅切片 num 個行.
35 # string.startswith(obj, beg=0,end=len(string))        檢查字符串是不是以 obj 開頭,是則返回 True,不然返回 False。若是beg 和 end 指定值,則在指定範圍內檢查.
36 # string.strip([obj])                                  在 string 上執行 lstrip()和 rstrip()
37 # string.swapcase()                                    翻轉 string 中的大小寫
38 # string.title()                                       返回"標題化"的 string,就是說全部單詞都是以大寫開始,其他字母均爲小寫(見 istitle())
39 # string.translate(str, del="")                        根據 str 給出的表(包含 256 個字符)轉換 string 的字符,要過濾掉的字符放到 del 參數中
40 # string.upper()                                       轉換 string 中的小寫字母爲大寫
View Code

列表

複製代碼
#建立
fruit = ['apple','pear','grape','orange'] #切片 print(fruit[1]) #pear print(fruit[1:3]) #['pear', 'grape'] print(fruit[-1]) #orange print(fruit[:2]) #['apple', 'pear'] # 追加 fruit.append('peach') print(fruit) #['apple', 'pear', 'grape', 'orange', 'peach'] # 刪除 fruit.remove('peach') #刪除指定的 print(fruit) #['apple', 'pear', 'grape', 'orange'] fruit.pop() #刪除列表最後一個元素 print(fruit) #['apple', 'pear', 'grape'] del fruit[2] #刪除指定的索引 print(fruit) #['apple', 'pear'] # 插入 fruit.insert(1,'grape') #把‘grape’加入到索引爲1的位置 print(fruit) #['apple', 'grape', 'pear'] # 修改 fruit[2] = 'orange' #直接修改 print(fruit) #['apple', 'grape', 'orange']
複製代碼
複製代碼
# 擴展
fruit1 = ['apple','orange']
fruit2 = ['pear','grape']
fruit1.extend(fruit2)
print(fruit1)         #['apple', 'orange', 'pear', 'grape']

# 統計
print(fruit1.count('apple'))    #1

# 排序
fruit1.sort()
print(fruit1)     #['apple', 'grape', 'orange', 'pear']

fruit1.reverse()
print(fruit1)     #['pear', 'orange', 'grape', 'apple']

# 獲取下標
print(fruit1.index('apple'))    #3

# 同時獲取下標和值
for index,item in enumerate(fruit1):
    print(index,item)
    
# 結果    
0 pear
1 orange
2 grape
3 apple
複製代碼

元組

複製代碼
# 建立元組
fruit = ('apple','orange','grape')

# 經常使用功能
print(fruit.count('apple'))   #1
print(fruit.index('orange'))  #1
複製代碼

字典

複製代碼
# 建立
fruit = {1:'apple',2:'orange',3:'grape'}
print(fruit)

# 增長
fruit[4] = 'pear'
print(fruit)      #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

# 修改
fruit[4] = 'peach'
print(fruit)      #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

# 刪除
fruit.pop(4)       #刪除指定的key
print(fruit)       #{1: 'apple', 2: 'orange', 3: 'grape'}

# 查找value
print(fruit.get(1))     #apple
複製代碼
複製代碼
fruit = {1:'apple',2:'orange',3:'grape'}

# 循環
for k,v in fruit.items():
    print(k,v)

1 apple
2 orange
3 grape

for k in fruit.keys():
    print(k)

1
2
3

for v in fruit.values():
    print(v)
    
apple
orange
grape
複製代碼

集合

複製代碼
# 建立
fruit = set(['apple','orange','pear'])
print(fruit)         #{'orange', 'pear', 'apple'}

# 添加
fruit.add('grape')   #add只能添加一個
print(fruit)         #{'apple', 'orange', 'pear', 'grape'}

fruit.update(['peach','banana'])    #update添加多個
print(fruit)
{'banana', 'pear', 'apple', 'peach', 'grape', 'orange'}

# 刪除
fruit.remove('banana')    #刪除指定的
print(fruit)

fruit.pop()    #隨機刪除
print(fruit) 
複製代碼
複製代碼
num1 = set([11,22,33,44])
num2 = set([33,44,55,66])

# 並集
print(num1.union(num2))     #{66, 11, 22, 33, 44, 55}

# 差集
print(num1.difference(num2))    #{11, 22}

# 交集
print(num1.intersection(num2))   #{33, 44}
複製代碼
相關文章
相關標籤/搜索