在項目開發階段,會有經常忘記、寫錯內置方法的情況。爲了減少這種查詢的情況,特此總結下python各數據類型常用方法。
1,str類型
str.upper() # 所有字符大寫
str.lower() # 所有字符小寫(支持中英)
str.casefold() # 所有字符小寫 (支持中英及其他)
str.title() # 首字母大寫(每個單詞首字母)
str.capitalize() # 首字母大寫(字符串首字母)
str.count('i',start,stop) # 字符串出現的次數
str.find('i',start,stop) # 返回字符串的索引,若沒有則返回-1
str.index('i',start,stop) # 返回字符串的索引,若沒有則報錯
str.rfind('i') # 類似於find(),不過是從右邊開始查找
str.rindex('i') # 類似於index(),不過是從右邊開始查找
'+'.join(list) # 字符串作爲分隔符插入字符串或列表中
str.split('i') # 用分隔符拆分字符串,默認以'\n'分隔
str.splitlines() # 用換行符拆分字符串,不需要傳入參數
str.replace(old,new,[count]) # 替換指定的字符串
str.startswith('Ni') # 檢查字符串是否以傳入參數值開頭
str.endswith('hui') # 檢查字符串是否以傳入參數值結尾
str.ljust(10,'#') # 返回原字符左對齊,並使用空格填充至長度爲參數的新字符串
str.rjust(10,'#') # 返回原字符右對齊,並使用空格填充至長度爲參數的新字符串
str.center(10,'#') # 返回原字符居中,並使用空格填充至長度爲參數的新字符串
str.lstrip('hui') # 刪除字符串左邊含有參數的字符,參數默認爲空格
str.rstrip() # 刪除字符串右邊含有參數的字符,參數默認爲空格
str.strip() # 刪除字符串左右兩邊含有參數的字符,參數默認爲空格
str.partition('jia') # 把字符串以傳入參數分割成三部分,參數前、參數、後,返回三個元素的元組
str.rpartition('jia') # 類似於 partition()函數,不過是從右邊開始.
list = eval("['a','b','c']") # 返回去掉雙引號後的數據
str.isalpha() # 是否都是字母
str.isdigit() # 是否都是數字
str.isalnum() # 是否都是字母或數字
str.isspace() # 是否都是空格
str.isupper() # 是否都是大寫
str.islower() # 是否都是小寫
str.istitle() # 是否開頭是大寫
isinstance('nijiahui',str) # 參數1的數據類型是否和參數2一致
2,list類型
# 加:
list.append('abc') # 按順序添加元素
list.insert(0,'abc') # 將參數2添加到列表參數1的位置上
list.extend(dict) # 將可遍歷的參數遍歷後加入列表
# 減:
list.pop() # 默認將列表的最後一個元素去除並返回去除的元素,也可以以傳入的索引去除元素
del list[2] # 根據索引去除元素
list.remove('ni') # 根據傳入的元素名稱去掉一個元素
# 排序:
list.sort(reverse=True) # 重新排序改變list數據,默認爲升序
sorted(list1,reverse=True) # 重新排序不改變list數據,默認爲升序
list.reverse() # 翻轉列表,改變原數據
list(reversed(list)) # 翻轉列表,不改變原數據
# 其他;
list.count('i') # 返回list中的參數個數
list.index('i',1,4) # 返回參數在索引區間的索引
list.clear() # 清空list裏的數值,改變原數據
list1 = list.copy() # 淺拷貝
# 遍歷語句:
for i,value in enumerate(list):
print(i,value)
# 列表推導式:
list = [i for i in range(100)]
3,tuple類型
此處需要說明下,tuple類型由於生成之後數據不能改變,所以在生成tuple對象的時候,tuple類型的數據爲順序表(數組)的方式排列,分配給整塊的內存地址,所以在讀取數據時的速度會大於list;而list類型的數據爲鏈表的方式排列,讀取數據的時候爲遍歷讀取,讀取速度會慢於tuple類型。
tuple.index('i',1,4) # 返回參數1在參數2、3(左開右閉)的索引
tuple.count('i') # 返回參數在元組中的個數
1,定義:
tuple = ()
tuple = tuple()
2,定義只有一個元素的元組:
tuple = (1,)
3,方法:
in / not in / tuple.index('i',1,4) / tuple.count('i')
4,dict類型
# key值不能出現可變數據類型,一般用str
# 1. 創建並返回一個新字典
dicts = {}.fromkeys(seq,[value])#seq爲可遍歷對象,value爲對應數值,默認爲None
# 2. 遍歷字典key、value
for i,j in dict.items(): # .keys() / .values())
pass
# 3. 刪除鍵值對
1) del dict['key'] # 刪除特定的鍵值
2) dict.clear() # 清空字典
3) key = dict.pop('key') # 參數爲必填,同時返回刪除鍵對應的數值
4) key,value = dict.popitem() # 隨機返回並刪除字典中的一對鍵和值
# 4. 查鍵值對:
1) dict['key']
2) dict.get('key','sub') # 若有key返回對應value;若無key,返回sub
# 5. 增加鍵值對:
1) dict['key'] = value
2) dict.update(age='25')
# 6. 增/查鍵值對(工廠函數):
dict.setdefault('key','sub') # 若有key返回對應value,若無key,返回sub並加入到dict中
# 7. 淺拷貝
dict1 = dict.copy()
# 8. 直接in 查詢的是dict的key
if '' in dict:
pass
# 9. 直接遍歷dict時,遍歷的是dict的key
for i in dict :
pass
# 10. 若需要將list去重同時保持其順序
list = ['a','b','c',5,4,3,2,'b',2,0]
list = {}.fromkeys(list).keys()
5,set類型
# 不能出現可變的數據類型。
# 保存的元素是唯一的。(與dict中的key相似)
1,定義
1) set = set()
2) set = {1,2...}
2,增加元素
1) set.add('sub') # 將sub作爲整體加入集合
2) set.update('sub') # 將sub遍歷加入集合
3,刪除元素
1) set.remove('sub') # 將元素sub移除集合中(若無則報錯)
2) set.discard('sub') # 將元素sub移除集合中(若無,無操作)
3) set.pop() # 隨機刪除一個元素,並將其返回(沒有參數)
4,in / not in / for
5,其他
1)set.clear()
2)set.copy()
3)不可變集合:set=frozenset(set)
6,功能:
1)去重
set = set(list)
2)交集
1) set = set1 & set2
2) set = set1.intersection(set2)
3)並集
1) set = set1 | set2
2) set = set1.union(set2)
4)差集
1) set = set1 ^ set2
2) set = set1.difference(set2)
5)判斷
set1.issubset(set2)
set1.isupperset(set2)
set1.isdisjoint(set2)