推薦學習:
整型(int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 型別使用。布林(bool)是整型的子型別。
浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
複數( (complex)) - 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。
int(x) 將x轉換為一個整數。
float(x) 將x轉換到一個浮點數。
complex(x) 將x轉換到一個複數,實數部分為 x,虛數部分為 0。
complex(x, y) 將 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數位表示式。
# + - * / %(取餘) **(冪運算) # 整數除法中,除法 / 總是返回一個浮點數, # 如果只想得到整數的結果,丟棄可能的分數部分,可以使用運運算元 // print(8 / 5) # 1.6 print(8 // 5) # 1 # 注意:// 得到的並不一定是整數型別的數,它與分母分子的資料型別有關係 print(8 // 5.0) # 1.0 # 使用 ** 操作來進行冪運算 print(5 ** 2) # 5的平方 25
index():查詢子串substr第一次出現的位置,如果查詢的子串不存在時,則丟擲ValueErrorrindex()異常
rindex():查詢子串substr最後一次出現的位置,如果查詢的子串不存在時,則丟擲ValueError()異常
find():查詢子串substr第一次出現的位置,如果查詢的子串不存在時,則返回-1
rfind():查詢子串substr最後一次出現的位置,如果查詢的子串不存在時,則返回-1
s = 'hello, hello' print(s.index('lo')) # 3 print(s.find('lo')) # 3 print(s.find('k')) # -1 print(s.rindex('lo')) # 10 print(s.rfind('lo')) # 10
upper():把字串中所有字元都轉成大寫字母
lower():把字串中所有字元都轉成小寫字母
swapcase():把字串中所有大寫字母轉成小寫字母,把所有小寫字母都轉成大寫字母
capitalize():把第一個字元轉換為大寫,把其餘字元轉換為小寫
title():把每個單詞的第一個字元轉換為大寫,把每個單詞的剩餘字元轉換為小寫
s = 'hello, Python' print(s.upper()) # HELLO, PYTHON print(s.lower()) # hello, python print(s.swapcase()) # HELLO, pYTHON print(s.capitalize()) # Hello, python print(s.title()) # Hello, Python
center():居中對齊,第1個引數指定寬度,第2個引數指定填充符,預設是空格,如果設定寬度小於實際寬度則返回原字串
ljust():左對齊,第1個引數指定寬度,第2個引數指定填充符,預設是空格,如果設定寬度小於實際寬度則返回原字串
rjust():右對齊,第1個引數指定寬度,第2個引數指定填充符,預設是空格,如果設定寬度小於實際寬度則返回原字串
zfill():右對齊,左邊用0填充,該方法只接收一個引數,用於指定字串的寬度,如果指定的寬度小於等於字串的長度,返回字串本身
s = 'hello,Python' '''居中對齊''' print(s.center(20, '*')) # ****hello,Python**** '''左對齊 ''' print(s.ljust(20, '*')) # hello,Python******** print(s.ljust(5, '*')) # hello,Python '''右對齊''' print(s.rjust(20, '*')) # ********hello,Python '''右對齊,使用0進行填充''' print(s.zfill(20)) # 00000000hello,Python print('-1005'.zfill(8)) # -0001005
拆分
s = 'hello word Python' print(s.split()) # ['hello', 'word', 'Python'] s1 = 'hello|word|Python' print(s1.split(sep='|')) # ['hello', 'word', 'Python'] print(s1.split('|', 1)) # ['hello', 'word|Python'] # 左側開始 print(s1.rsplit('|', 1)) # ['hello|word', 'Python'] # 右側開始
切片
s = 'hello,world' print(s[:5]) # hello 從索引0開始,到4結束 print(s[6:]) # world 從索引6開始,到最後一個元素 print(s[1:5:1]) # ello 從索引1開始,到4結束,步長為1 print(s[::2]) # hlowrd 從開始到結束,步長為2 print(s[::-1]) # dlrow,olleh 步長為負數,從最後一個元素(索引-1)開始,到第一個元素結束 print(s[-6::1]) # ,world 從索引-6開始,到最後一個結束
字串替換
s = 'hello,Python,Python,Python' print(s.replace('Python', 'Java')) # 預設全部替換 hello,Java,Java,Java print(s.replace('Python', 'Java', 2)) # 設定替換個數 hello,Java,Java,Python
字串連線
lst = ['hello', 'java', 'Python'] print(','.join(lst)) # hello,java,Python print('|'.join(lst)) # hello|java|Python
name = '張三' age = 20 print('我叫%s, 今年%d歲' % (name, age)) print('我叫{0}, 今年{1}歲,小名也叫{0}'.format(name, age)) print(f'我叫{name}, 今年{age}歲') # 我叫張三, 今年20歲 # 我叫張三, 今年20歲,小名也叫張三 # 我叫張三, 今年20歲
設定數位的寬度和精度
# 設定數位的寬度和精度 '''%佔位''' print('%10d' % 99) # 10表示寬度 print('%.3f' % 3.1415926) # .3f表示小數點後3位 print('%10.3f' % 3.1415926) # 同時設定寬度和精度 '''{}佔位 需要使用:開始''' print('{:.3}'.format(3.1415926)) # .3表示3位有效數位 print('{:.3f}'.format(3.1415926)) # .3f表示小數點後3位 print('{:10.3f}'.format(3.1415926)) # .3f表示小數點後3位 # 99 #3.142 # 3.142 #3.14 #3.142 # 3.142
s = '但願人長久' # 編碼 將字串轉換成byte(二進位制)資料 print(s.encode(encoding='gbk')) #gbk,中文佔用2個位元組 print(s.encode(encoding='utf-8')) #utf-8,中文佔用3個位元組 # 解碼 將byte(二進位制)轉換成字串資料 # 編碼與解碼中,encoding方式需要一致 byte = s.encode(encoding='gbk') print(byte.decode(encoding='gbk')) # b'\xb5\xab\xd4\xb8\xc8\xcb\xb3\xa4\xbe\xc3' # b'\xe4\xbd\x86\xe6\x84\xbf\xe4\xba\xba\xe9\x95\xbf\xe4\xb9\x85' # 但願人長久
有序序列
索引對映唯一個資料
可以儲存重複資料
任意資料型別混存
根據需要動態分配和回收記憶體
語法格式:[i*i for i in range(i, 10)]
解釋:i表示自定義變數,i*i表示列表元素的表示式,range(i, 10)表示可迭代物件
print([i * i for i in range(1, 10)])# [1, 4, 9, 16, 25, 36, 49, 64, 81]
in / not in
for item in list: print(item)
list.index(item)
list = [1, 4, 9, 16, 25, 36, 49, 64, 81]print(list[3]) # 16print(list[3:6]) # [16, 25, 36]
append():在列表的末尾新增一個元素
extend():在列表的末尾至少新增一個元素
insert0:在列表的指定位置新增一個元素
切片:在列表的指定位置新增至少一個元素
rerove():一次刪除一個元素,
重複元素只刪除第一個,
元素不存在丟擲ValceError異常
pop():刪除一個指定索引位置上的元素,
指定索引不存在丟擲IndexError異常,
不指定索引,刪除列表中最後一個元素
切片:一次至少刪除一個元素
clear0:清空列表
del:刪除列表
list.sort()
sorted(list)
Python的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號,列表使用方括號
t = ('Python', 'hello', 90)
tuple(('Python', 'hello', 90))
t = (10,)
items = ['fruits', 'Books', 'Others'] prices = [12, 36, 44] d = {item.upper(): price for item, price in zip(items, prices)} print(d) # {'FRUITS': 12, 'BOOKS': 36, 'OTHERS': 44}
user = {"id": 1, "name": "zhangsan"} user["age"] = 25 print(user) # {'id': 1, 'name': 'zhangsan', 'age': 25}
user = {"id": 1, "name": "zhangsan", "age": 25} user["age"] = 18 print(user) # {'id': 1, 'name': 'zhangsan', 'age': 18}
user = {"id": 1, "name": "zhangsan"}del user["id"]print(user) # {'name': 'zhangsan'}del user
user = {"id": 1, "name": "zhangsan"}user.clear()print(user) # {}
scores = {'張三': 100, '李四': 95, '王五': 88}for name in scores: print(name, scores[name])
scores = {'張三': 100, '李四': 95, '王五': 88}for name, score in scores.items(): print(name, score)
s = {'Python', 'hello', 90}
print(set("Python"))print(set(range(1,6)))print(set([3, 4, 7]))print(set((3, 2, 0)))print(set({"a", "b", "c"}))# 定義空集合:set()print(set())
print({i * i for i in range(1, 10)})# {64, 1, 4, 36, 9, 16, 49, 81, 25}
兩個集合是否相等:可以使用運運算元 == 或 != 進行判斷,只要元素相同就相等
一個集合是否是另一個集合的子集:issubset()
s1 = {10, 20, 30, 40, 50, 60}s2 = {10, 30, 40}s3 = {10, 70}print(s2.issubset(s1)) # Trueprint(s3.issubset(s1)) # False
print(s1.issuperset(s2)) # Trueprint(s1.issuperset(s3)) # False
s1 = {10, 20, 30, 40, 50, 60}s2 = {10, 30, 40}s3 = {20, 70}print(s1.isdisjoint(s2)) # False 有交集print(s3.isdisjoint(s2)) # True 無交集
s1 = {10, 20, 30, 40}s2 = {20, 30, 40, 50, 60}print(s1.intersection(s2)) # {40, 20, 30}print(s1 & s2) # {40, 20, 30}
print(s1.union(s2)) # {40, 10, 50, 20, 60, 30}print(s1 | s2) # {40, 10, 50, 20, 60, 30}
print(s2.difference(s1)) # {50, 60}print(s2 - s1) # {50, 60}
print(s2.symmetric_difference(s1)) # {10, 50, 60}print(s2 ^ s1) # {10, 50, 60}
推薦學習:
以上就是詳細介紹Python3資料結構知識點的詳細內容,更多請關注TW511.COM其它相關文章!