python各數據類型常用方法彙總

在項目開發階段,會有經常忘記、寫錯內置方法的情況。爲了減少這種查詢的情況,特此總結下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. 刪除鍵值對
    1del dict['key']    # 刪除特定的鍵值
    2dict.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. 增加鍵值對:
    1dict['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 dictpass 
    
# 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()           # 隨機刪除一個元素,並將其返回(沒有參數)
4in /  not in / for 
5,其他
    1set.clear()
    2set.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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章