Python 常用類型相關操作

相關類型操作

  • 字符串
# 字符串對象是不可變對象
  s1 = 'i love you more than'
  s2 = ' you love me '
  # 根據下標取得字符
  print(s1[0])
  # 字符串拼接
  s = s1 + s2
  # 查找字符串,返回第一個匹配到的下標
  print(s1.find('o'))
  # 從右查找,返回字符出現的最高位下標
  print(s1.rfind('o'))
  # 返回首字母大寫的字符串版本
  print(s.capitalize())
  # 單詞首字母大寫
  print(s.title())
  # 去除左右空白
  print(s2.strip())
  # 去除有空白
  print(s2.rstrip())
  # 去除左空白
  print(s2.lstrip())
  # 獲取字符串第一次出現的下標,如果沒有匹配到的substr則會出錯
  print(s.index('love'))
  # 統計字符出現的次數
  print(s.count('lo'))
  # 切割字符串,返回一個列表,可以指定切割次數
  print(s1.split(' ', maxsplit=1))
  # 從右切割
  print(s1.rsplit(' ', maxsplit=1))
  # 按行切割,返回一個列表
  s4 = '''abc
  def
  ghk
  '''
  print(s4.splitlines())
  # 轉大寫
  print(s.upper())
  # 轉小寫
  print(s.lower())
  # 按特定字符拼接字符串
  s3 = ' '.join(['i', 'love', 'you'])
  print(s3)
  # 判斷是否以什麼開頭
  print(s1.startswith('i'))
  # 判斷是否以什麼結尾
  print(s1.endswith('i'))
  # 大小寫轉換
  print(s1.swapcase())
  • 切片(序列都可以,必須是有序的)
  s = 'abcdefg'
  # 從開頭進行提取,下標從0開始
  print(s[0])
  # 從末尾進行提取,下標從-1開始
  print(s[-1])

  # 切片
  # 格式:s[開始:結束:步進]
  print(s[1:3])
  # 當一邊的邊界省略,則提取到改側的邊緣
  print(s[1:])
  print(s[:4])
  print(s[1:-2])
  print(s[:-3])
  print(s[-3:])

  # 指定步進值,默認爲1
  print(s[::2])
  # 逆序提取
  print(s[::-1])
  • 列表操作
lt = [1, 7, 8, 9, 2, 3, 4, 5, 0]
  # print(lt, type(lt))

  # 列表是有序的,可重複的

  # 通過下標獲取元素
  print(lt[0])

  # 通過append()在列表末尾添加元素
  lt.append(1)
  print(lt)

  # 拷貝列表,返回一個新列表
  lt1 = lt.copy()
  print(lt1, id(lt), id(lt1))

  # 統計值出現的次數
  num = lt1.count(1)
  print(num)

  # 移除從下標0開始匹配到的元素
  lt1.remove(1)
  print(lt1)

  # 通過可迭代對象追加元素
  lt1.extend([1, 2, 3])
  print(lt1)

  # 獲取第一個匹配到的元素的下標
  print(lt1.index(1))

  # 在下標處插入元素
  lt1.insert(0, 1)
  print(lt1)

  # 彈出元素(默認末尾元素)
  print(lt1.pop(0))
  print(lt1.pop())

  # 反轉列表元素
  lt1.reverse()
  print(lt1)

  # 對列表排序,默認升序,沒有任何參數
  lt1.sort()
  print(lt1)
  • 元組操作

    # tp1 = (1, 2, 3)
    # tp1 = (1,)
    tp1 = 1, 2, 3
    tp2 = (4, 5, 6)
    # 可以直接拼接在一起
    # tp3 = tp1 + tp2
    # print(tp3, type(tp3))
    # 重複指定次數
    tp4 = tp1 * 3
    print(tp4)
    # 統計元素個數
    print(len(tp4))
    tp = (1, 2, 3, 4, 5, 6)
    # 切片操作
    print(tp[0], tp[-1])
    print(tp[1:-1])
    # 獲取指定元素的索引
    print(tp.index(3))
    # 統計元素出現的次數
    print(tp.count(3))
    # 最大值
    print(max(tp))
    # 最小值
    print(min(tp))
    
  • 集合操作

    s = {'a', 'b', 'b', 'd', 'e', 'f'}
    
    # 添加元素
    s.add('g')
    
    # 刪除元素
    # s.remove('a')
    # 刪除不存在元素會報KeyError錯
    # s.remove('z')
    # 刪除元素,元素存在則刪除,不存在也不報錯
    s.discard('z')
    
    # 返回並刪除,元素是隨機的
    # print(s.pop())
    
    # 清空元素
    s.clear()
    
    # print(s)
    
    s1 = {'a', 'b', 'c'}
    s2 = {'c', 'd', 'e', 'f', 'g'}
    
    # 並集
    # print(s1.union(s2))
    
    # 交集
    # print(s1.intersection(s2))
    # 求交集,並用交集覆蓋原來的集合
    # s1.intersection_update(s2)
    
    # 差集
    # print(s1.difference(s2))
    # 求差集,並用差集覆蓋原來的集合
    # s1.difference_update(s2)
    # print(s1)
    
    # 判斷是否沒有交集
    print(s1.isdisjoint(s2))
    # 判斷是否是另一集合的子集
    print(s1.issubset(s2))
    # 判斷是否是另一集合的父集/超集
    print(s2.issuperset(s1))
    
  • 字典操作

    d = {'name': 'xiaoming', 'age': 20}
    
    # 獲取元素
    # 有就返回對應的值,沒有就報KeyError錯
    print(d['name'])
    # 有就返回對應的值,沒有就返回None,可以指定默認值
    print(d.get('namexxx', '默認值'))
    
    # 修改元素
    # 鍵存在則修改對應的值
    d['name'] = 'xiaohei'
    # 鍵不存在則添加鍵值對
    d['height'] = 180
    
    # 更新:存在的鍵會覆蓋,不存在的鍵會添加
    d.update({'name': 'xiaobai'})
    
    # 刪除元素
    # del d['height']
    # 返回並刪除
    print(d.pop('age'))
    
    # 清空元素
    d.clear()
    
    print(d)
    
  • 字符串格式化

# 格式化
# 第一種:老式的
# %s:字符串
# %d:整型
# %f:浮點
# %c:字符
name = 'Jack'
like = 'Tom'
age = 18
print("I'm %s, %d years old. Like %s." % (name, age, like))
# 第二種 format
# 默認按順序指定
print("I'm {}, {} years old. Like {}.".format(name, age, like))
# 自定義位置
print("I'm {2}, {1} years old. Like {0}.".format(name, age, like))
# 變量形式指定
print("I'm {a}, {b} years old. Like {c}.".format(a=name, b=age, c=like))
# 第三種 f格式化
print(f"I'm {name}, {age} years old. Like {like}.")
  • 數據類型轉換
# 隱式類型轉換:不需要聲明
print(3/2)  # >>> 1.5 從int->float
# 強制類型轉換:函數聲明強制轉換(不符合邏輯進行轉換的會報ValueErrer,比如int('abc'))
'''
int:轉換爲整型
float:轉換爲浮點
str:轉換爲字符串
list:轉換爲列表
tuple:轉換爲元組
set:轉換爲集合
dict:轉換爲字典
'''

# 轉換爲整數
# a = int(3.14)
# 參數1:需要轉換的數據
# base:數據的進制類型,默認爲十進制
# a = int('123', base=8)
# a = int('abc', base=16)

# 浮點
# a = float(250)

# 字符串
# a = str(123)

# 列表
# a = list('hello')
# a = list((1, 2, 3))
# a = list({1, 2, 3})
# 可以轉換不會報錯,但是隻保留了鍵
# a = list({'name': 'ergou', 'age': 18})

# 元組
# a = tuple([1, 2, 3])

# 集合
# a = set([1, 2, 3])

# 字典
lt = [('name', 'dahua'), ('age', 18)]
a = dict(lt)
print(a, type(a))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章