1. 程式人生 > 實用技巧 >Python基礎資料型別方法補充

Python基礎資料型別方法補充

str 補充的方法:

  • capitalize():首字母大寫,其餘變小寫

    s = 'liBAI'
    s1 = s.capitalize()
    print(s1)
    # Libai
    
  • swapcase():大小寫翻轉

    s = 'LiBai'
    s1 = swapcase()
    print(s1)
    # lIbAI
    
  • title():每個單詞首字母大寫,其餘變小寫。以非字母隔開即為每個單詞

    s = 'libai& dufu@ sushi'
    s1 = s.title()
    print(s1)
    # Libai& Dufu@ Sushi
    
  • center():居中,要指定總長度,還可設定填充物

    s = 'libai'
    s1 = s.center(10,'&')   # 前面引數指定總長度,後面指定除字串外的填充物,用引號引起來
    print(s1)
    # &&libai&&&
    
  • find():通過元素找索引,找到第一個即返回值,找不到返回-1

    s = 'libai'
    print(s.find('b'))
    #  2
    print(s.find('z'))
    # -1
    
  • index():通過元素找索引,找到第一個即返回值,找不到就報錯

    s = 'libai'
    print(s.index('z'))
    # ValueError: substring not found
    

tuple 補充的方法:

  • 元組中如果只有一個元素,並且沒有逗號,例 ('a'),那麼它不是元組,它與該元素的資料型別一致。

    tu1 = ('s')
    print(type(tu1))
    # <class 'str'>
    tu2 = ('s',)
    print(type(tu2))
    # <class 'tuple'>
    
  • index():通過元素找索引,找到第一個即返回值,找不到就報錯

  • count():計算某元素出現的次數

    s = 'libaidufubaijuyisushi'
    print(s.count('i'))
    #  5
    

list 補充的方法:

  • index():通過元素找索引,找到第一個即返回值,找不到就報錯

  • sort():預設對數字從小到大排序,對原列表排序,不會產生新列表

    l1 = [2,5,1,7,4,2,]
    l1.sort()
    print(l1)
    #  [1, 2, 2, 4, 5, 7]
    
    l1 = ['alex','yellow','xyz','blue']
    l1.sort()
    print(l1)
    # ['alex', 'blue', 'xyz', 'yellow']  按首字母排序
    
  • sort(reverse=True): 從大到小

    l1 = [4,2,4,5,7,1,3]
    l1.sort(reverse=True)
    print(l1)
    #  [7, 5, 4, 4, 3, 2, 1]
    
    l1 = ['alex','yellow','xyz','blue']
    l1.sort(reverse=True)
    print(l1)
    # ['yellow', 'xyz', 'blue', 'alex']  按首字母排序
    
  • reverse():將原列表翻轉

    l1 = [1,'a',3,'x','y']
    l1.reverse()
    print(l1)
    # ['y', 'x', 3, 'a', 1]
    
  • 列表相加:將兩個列表相加為一個新列表

    l1 = ['a','b','c']
    l2 = [1,2,3]
    l3 = l1 + l2
    print(l3)
    # ['a', 'b', 'c', 1, 2, 3]
    
  • 列表與整數相乘:將列表重複n次,產生一個新列表

    l1 = ['a','b','c']
    l2 = l1 * 3
    print(l2)
    # ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
    

列表的特性:

  • 正向迴圈一個列表時,如果刪除某個元素,那麼這個元素後面所有元素都會向前進以為,它們的索引相比之前也會前進一位
  • 迴圈一個列表時,最好不要改變列表的大小,這樣會影響最終的結果
# 例:刪除列表索引為奇數的元素
li = [11,22,33,44,55]

# 1.直接刪除
    del li[1::2]

# 2.倒序法刪除元素,從末尾往首部刪除,被刪除元素之前的元素索引不會受到影響。
    for i in range(len(li)-1,-1)
        if i % 2 == 1:
            li.pop(i)
    print(li)

# 3.思維置換法
    li = [11,22,33,44,55]
    l2 = []
    for i in range(len(li)):
        if i % 2 == 0:
            l2.append(li[i])
    li = l2
    print(li)

dict 補充的方法:

update():
  • 字典的增:

    dic = {'name':'太白','age': 18}
    dic.update(sex='男',height=175)
    print(dic) 
    # {'name': '太白','age': 18,'sex': '男','height': 175}
    
dic.update([(1,'a'),(2,'b'),(3,'c')])
print(dic) 
# {'name':'太白','age': 18,1: 'a',2: 'b',3: 'c'}


# 字典的更新: 鍵已存在則修改,不存在則新增
dic1 = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic1.update(dic2)
print(dic1) 
# {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
print(dic2) 
# {'name': 'alex', 'weight': 75}
  • fromkeys():鍵為一個可迭代物件,值共用一個
# 例:
dic = dic.fromkeys('abc',[])
print(dic)
# {'a':[],'b':[],'c':[]}

# 一個值若被修改則所有的值都會修改
dic[a].append(666)
print(dic)
# {'a':[666],'b':[666],'c':[666]}
  • list 和 set之間的轉換:

    #list --> set
    set(list) 
    
    #set --> list
    list(set) 
    
  • 所有資料型別都可以轉換為bool值:

    • 只有以下幾個資料轉換bool值為False:
      '', 0, {}, (), [], set(), None