1.Python数据类型、方法
數據類型及常用方法
一、字符串
1.說明
(1)字符串需加引號;
name = "我是Allen" name = 'Allen' name = """Allen""" name = '''我是Allen''' 字符串示例(2)字符串創建后不可修改,修改字符串相當于在內存中另外生成一個數據,使用該變量名;
>>>a = "allen" >>>id(a) >>>54933968 >>>a = "tsui" >>>id(a) >>>55058136 字符串修改示例(3)字符串可被迭代;
a = "allen" for i in a:print(i)輸出: a l l e n 字符串迭代示例(4)字符串索引、切片,從左到右從0開始編號,-1表示最后一個元素;
a = "allen" print(a[0], a[3]) print(a[2:-1]) # 注意,索引是左閉區間,右開區間,所以不包含最后一個元素 輸出: a e le 字符串索引切片示例?
2.方法
(1)capitalize():首字母大寫
name = "allen" v = name.capitalize() print(v)輸出: Allen capitalize()示例(2)upper():全部變成大寫
name = "allen" v = name.upper() print(v)輸出: ALLEN upper()示例(3)lower():全部變成小寫
name = "aLLen" v = name.lower() print(v)輸出: allen lower()示例(4)center():設置寬度,并將內容居中
name = "allen" v1 = name.center(20) # 設置總長度為20,并將allen居中 v2 = name.center(20, "=") # 設置總長度為20,并將allen居中,其余使用=填充 print(v1) print(v2)輸出:allen =======allen======== center()示例(5)count():字符串中尋找子序列的出現次數
name = "allenleeneeeddgendg" v = name.count("en") # 尋找en出現的次數 print(v)v = name.count("en",7,9) # 從字符串索引7到索引9(不包括9)之間尋找en出現的次數 print(v)輸出: 3 1 count()示例(6)endswith():是否以···結尾
name = "allenleeneeeddgendg" v = name.endswith("d") print(v)v = name.endswith("dg") print(v)輸出: False True endswith()示例(7)startswith():是否以···開頭
name = "allenleeneeeddgendg" v = name.startswith("a") print(v)v = name.startswith("ad") print(v)輸出: True False startswith()示例(8)find():從開始往后找,找到第一個子字符串后獲取所在的位置,未找到顯示-1
name = "allenallen" v = name.find("en") print(v)v = name.find("en", 6, 10) # 從index6開始到index10位置結局尋找 print(v)輸出: 3 8 find()示例(9)index():查找子字符串后獲取所在的位置,找不到報錯
name = "allen" v = name.index("en") print(v)輸出: 3 index()示例(10)format() / format_map():格式化,將一個字符串中的占位符替換為指定的值
test = 'i am {name}, age {a}' print(test) v = test.format(name='allen',a=19) print(v)輸出: i am {name}, age {a} i am allen, age 19test = 'i am {0}, age {1}' print(test) v = test.format('allen', 19) print(v)輸出: i am {0}, age {1} i am allen, age 19test = 'i am {name}, age {a}' print(test) v1 = test.format(name='allen',a=10) v2 = test.format_map({"name": 'allen', "a": 19}) print(v1) print(v2)輸出: i am {name}, age {a} i am allen, age 10 i am allen, age 19 format()示例(11)isalnum():字符串中是否只包含字母和數字
a = "123" v1 = a.isalnum() b = "ddd123" v2 = b.isalnum() c = "ddd" v3 = c.isalnum() d = "$ddd" v4 = d.isalnum() print(v1, v2, v3, v4)輸出: True True True False isalnum()示例(12)title():把所有單詞第一個字母設置為大寫
a = "i am allen" v = a.title() print(v)輸出: I Am Allen title()示例(13)isalpha():是否是字母
a = "12dd" v = a.isalpha() print(v)a = "dd" v = a.isalpha() print(v)輸出: False True isalpha()示例(14)isdecimal() /?isdigit() /?isnumeric():是否是數字
a = "二" v1 = a.isdecimal() v2 = a.isdigit() v3 = a.isnumeric() print(v1, v2, v3)輸出: False False Truea = "1" v1 = a.isdecimal() v2 = a.isdigit() v3 = a.isnumeric() print(v1, v2, v3)輸出: True True Truea = "②" v1 = a.isdecimal() v2 = a.isdigit() v3 = a.isnumeric() print(v1, v2, v3)輸出: False True True isdecimal()/isdigit()/isnumeric()示例(15)isprintable():是否存在不可顯示的字符
a = "allen\ttsui" 存在\t、\n等轉義字符 v = a.isprintable() print(v)輸出: False isprintable()示例(16)isspace():判斷是否全部是空格
a = " " v = a.isspace() print(v)輸出: True isspace()示例(17)istitle():判斷是否是標題
a = "i am allen" v = a.istitle() print(v)a = "I Am Allen" v = a.istitle() print(v)輸出: False True istitle()示例(18)join():將字符串中的每一個元素按照指定分隔符進行拼接
a = "i am allen" v = "$".join(a) # 用$拼接每個元素 print(v)輸出: i$ $a$m$ $a$l$l$e$n join()示例(19)islower() /?isupper():判斷是否全部是大/小寫
(20)strip() / lstrip() / rstrip():移除指定字符串
a = "allen" v1 = a.lstrip('a') # 從左邊移除 v2 = a.rstrip('en') # 從右邊移除 v3 = a.strip("allen") print(v1) print(v2) print(v3)a = " allen " v1 = a.lstrip() # 不給參數表示從左邊移除空格 v2 = a.rstrip() # 不給參數表示從右邊移除空格 v3 = a.strip() print(v1) print(v2) print(v3)輸出: llen allallen allen allen strip() / lstrip() / rstrip()示例(21)maketrans():對應關系替換
v = "allentsui" m = str.maketrans("ati", "123") new_v = v.translate(m) print(new_v)輸出: 1llen2su3 maketrans()示例(22)partition() /? rpartition():分割為三部分
a = "allentsuei" v = a.partition("e") # 從左邊查找對應分割字符 print(v)輸出: ('all', 'e', 'ntsuei')a = "allentsuei" v = a.rpartition("e") # 從右邊查找對應分割字符 print(v)輸出: ('allentsu', 'e', 'i') partition() / rpartition()示例(23)split() / rsplit():分割為指定個數
a = "allentesuei" v = a.split("e") # 找出全部符合字符進行分割 print(v)a = "allentesuei" v = a.split("e", 2) # 找出指定數量符合字符進行分割 print(v)a = "allentesuei" v = a.rsplit("e", 2) # 從右邊開始找出指定數量符合字符進行分割 print(v)輸出: ['all', 'nt', 'su', 'i'] ['all', 'nt', 'suei'] ['allent', 'su', 'i'] split() / rsplit()示例(24)splitlines():根據換行符分割,true/false表示是否保留換行
test = "asdfadfasdf\nasdfasdf\nadfasdf" v = test.splitlines(False) print(v)test = "asdfadfasdf\nasdfasdf\nadfasdf" v = test.splitlines(True) print(v)輸出: ['asdfadfasdf', 'asdfasdf', 'adfasdf'] ['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf'] splitlines()示例(25)swapcase():大小寫轉換
a = "Allen" v = a.swapcase() print(v)輸出: aLLEN swapcase()示例(26)replace():將指定字符串替換為指定字符串
a = "allenallenallen" v = a.replace("en", "us") print(v)a = "allenallenallen" v = a.replace("en", "us", 2) # 指定轉換次數 print(v)輸出: allusallusallus allusallusallen replace()示例? (27)len():獲取字符串長度
a = "allen" print(len(a))輸出: 5 len()示例?
二、數字
1.說明
(1)無需引號;
age = 13 數字示例?2.方法
(1)int():將字符串轉換為數字
a = "123" print(type(a),a)b = int(a) print(type(b),b)輸出: <class 'str'> 123 <class 'int'> 123 int()示例1 num = "0011" v1 = int(num) v = int(num, base=2) # int()默認是十進制轉換,可通過base=指定進制 print(v1, v)輸出: 11 3 int()示例2(2)bit_length():當前數字的二進制占位長度
num = 11 v = num.bit_length() print(v)輸出: 4 bit_length()示例?
三、列表
1.說明
(1)使用中括號[]括起來;
(2)使用索引引用元素,下標從0開始;
a = [1, 22, "ww", "allen"] print(a[0], a[2])輸出: 1 ww 列表示例(3)元素可為任何類似數據,字符串、數字、列表、元組、字典···;
(4)有序,元素可被修改;
a = [1, 22, "ww", "allen"] print(id(a))a[1] = 11 print(a) print(id(a))輸出: 47484616 [1, 11, 'ww', 'allen'] 47484616 列表修改示例? (5)元素刪除方法:1、del 元素;2、pop();3、remove();4、clear()
?
2.方法
(1)append():原來值最后追加
a = [1, 22, "ww", "allen"] a.append("tsui") print(a)輸出: [1, 22, 'ww', 'allen', 'tsui'] append()示例(2)clear():清空列表
a = [1, 22, "ww", "allen"] a.clear() print(a)輸出: [] clear()示例(3)copy():淺拷貝
a = [1, 22, "ww", "allen"] v = a.copy() print(a, v)輸出: [1, 22, 'ww', 'allen'] [1, 22, 'ww', 'allen'] copy()示例(4)count():計算元素出現的次數
a = [1, 22, "ww", "allen"] v = a.count(22) print(v)輸出: 1 count()示例(5)extend():擴展原列表,參數:可迭代對象
a = [1, 22, "ww", "allen"] a.append(["aa", "bb"]) print(a) b = [1, 22, "ww", "allen"] b.extend(["aa", "bb"]) print(b)輸出: [1, 22, 'ww', 'allen', ['aa', 'bb']] [1, 22, 'ww', 'allen', 'aa', 'bb'] extend()示例(6)index():根據值獲取當前值索引位置(左邊優先)
a = [1, 22, "ww", 22, "allen"] v = a.index(22) print(v)輸出: 1 index()示例(7)insert():在指定索引位置插入元素
a = [1, 22, "ww", 22, "allen"] a.insert(3, "abc") print(a)輸出: [1, 22, 'ww', 'abc', 22, 'allen'] insert()示例(8)pop():刪除某個值(不指定索引,默認刪除最后一個),并獲取刪除的值
a = [1, 22, "ww", 22, "allen"] v = a.pop() print(a) print(v)v = a.pop(0) print(a) print(v)輸出: [1, 22, 'ww', 22] allen [22, 'ww', 22] 1 pop()示例(9)remove():刪除列表中的指定值,左邊優先
a = [1, 22, "ww", 22, "allen"] a.remove(22) print(a)輸出: [1, 'ww', 22, 'allen'] remove()示例(10)reverse():將當前列表進行翻轉
a = [1, 22, "ww", 22, "allen"] a.reverse() print(a)輸出: ['allen', 22, 'ww', 22, 1] reverse()示例?
四、元組
1.說明
(1)有序,一級元素不可修改,不能被增加或者刪除(可轉換為列表,修改完再轉換會元組),元組里面的列表等可修改的元素的子元素可被修改;
tu = (1, 22, "ww", 22, "allen", [11, 22, 33]) tu[5][0] = 111 print(tu)輸出: (1, 22, 'ww', 22, 'allen', [111, 22, 33]) 元組修改子元素示例(2)可迭代對象
?
?2.方法
(1)count()
(2)index()
(3)join()
?
五、字典
1.說明
(1)大括號{}括起來的鍵值對,value可為任何類型的值;
(2)無序;
(3)布爾值(1,0)、列表、字典不能作為字典的key;
(4)通過key找到指定元素
?
?2.方法
(1)dict.fromkeys():根據序列,創建字典,并指定統一的值
v = dict.fromkeys(["k1",123,"999"],123) print(v)輸出: {'k1': 123, 123: 123, '999': 123} dict.fromkeys()示例(2)get():根據Key獲取值,key不存在時,可以指定默認值(None)
dic = {"k1":"aa", "k2":"bb",} v = dic['k1'] print(v) v = dic.get('k3',"cc") print(v)輸出: aa cc get()示例(3)pop():刪除并獲取值
dic = {"k1":"aa", "k2":"bb",} v = dic.pop("k1") print(dic,v)輸出: {'k2': 'bb'} aa pop()示例(4)setdefault():設置值,已存在,不設置,獲取當前key對應的值;不存在,設置,獲取當前key對應的值
dic = {"k1":"aa", "k2":"bb",} v = dic.setdefault("k1", "aaa") print(dic,v)v = dic.setdefault("k3", "ccc") print(dic,v)輸出: {'k1': 'aa', 'k2': 'bb'} aa {'k1': 'aa', 'k2': 'bb', 'k3': 'ccc'} ccc setdefault()示例(5)update():更新
dic = {"k1":"aa", "k2":"bb",} dic.update({"k1": "aaa", "k2": "bbb"}) print(dic)dic.update(k1="aaaa", k2="bbbb", k3="cccc") print(dic)輸出: {'k1': 'aaa', 'k2': 'bbb'} {'k1': 'aaaa', 'k2': 'bbbb', 'k3': 'cccc'} update()示例?
六、集合
1.說明
(1)大括號{}括起來的數據集合,元素不可重復;
(2)可迭代對象
?
?2.方法
(1)set():轉換成集合
s=set('hello') print(s)輸出: {'e', 'h', 'o', 'l'} set()示例(2)add():增加元素
s={1,2,3,4,5,6} s.add("3") print(s)輸出: {1, 2, 3, 4, 5, 6, '3'} add()示例(3)clear():清空集合
s={1,2,3,4,5,6} s.clear() print(s)輸出: set() clear()示例(4)copy():復制集合
(5)pop():隨機刪元素
(6)remove():指定刪除元素,刪除元素不存在會報錯
s={1,2,3,4,5,6} s.remove(7) print(s)輸出: KeyError: 7 remove()示例(7)discard():指定刪除元素,刪除元素不存在不會報錯
s={1,2,3,4,5,6} s.discard(7) print(s)輸出: {1, 2, 3, 4, 5, 6} discard()示例(8)intersection():求交集,可用&符號代替
s1 = {1, 2, 3, 4, 5, 6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} print(s1.intersection(s2)) print(s1 & s2)輸出: {1, 3, 5} {1, 3, 5} intersection()示例(9)union():求并集,可用|符號代替
s1 = {1, 2, 3, 4, 5, 6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} print(s1.union(s2)) print(s1 | s2)輸出: {1, 2, 3, 4, 5, 6, 'd', 'c', 'e', 'a', 'b'} {1, 2, 3, 4, 5, 6, 'd', 'c', 'e', 'a', 'b'} union()示例(10)difference():求差集,可用-符號代替
s1 = {1, 2, 3, 4, 5, 6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} print(s1.difference(s2)) print(s1 - s2)print(s2.difference(s1)) print(s2 - s1)輸出: {2, 'b', 4, 6, 'd'} {2, 'b', 4, 6, 'd'} {'e', 'a', 'c'} {'e', 'a', 'c'} difference()示例(11)symmetric_difference():求交叉補集,可用^符號代替
s1 = {1, 2, 3, 4, 5, 6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} print(s1.symmetric_difference(s2)) print(s1 ^ s2)輸出: {'c', 2, 4, 6, 'e', 'd', 'a', 'b'} {'c', 2, 4, 6, 'e', 'd', 'a', 'b'} symmetric_difference()示例(12)difference_update():求差集并更新
s1 = {1, 2, 3, 4, 5, 6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} s1.difference_update(s2) print(s1) print(s1 - s2)輸出: {'b', 2, 4, 6, 'd'} {'b', 2, 4, 6, 'd'} difference_update()示例(13)isdisjoin():兩個集合的交集是否為空
s1 = {6, 'b', 'd'} s2 = {1, 3, 5, 'a', 'c', 'e'} print(s1.isdisjoint(s2))輸出: True isdisjoin()示例(14)issubset():是否子集
s1 = {6, 'b', 'd'} s2 = {6, 'b', 'd', 'c', 'e'} print(s1.issubset(s2))輸出: True issubset()示例(15)issuperset():是否父集
s1 = {6, 'b', 'd'} s2 = {6, 'b', 'd', 'c', 'e'} print(s1.issuperset(s2)) print(s2.issuperset(s1))輸出: False True issuperset()示例(16)update():更新多個值
s1 = {6, 'b', 'd'} s2 = {2, 'a', 'c'} s1.update(s2) print(s1) #更新多個值 輸出: {2, 'b', 6, 'a', 'c', 'd'}s1 = {6, 'b', 'd'} s1.add(1, 2, 3) print(s1) #更新一個值 輸出: TypeError: add() takes exactly one argument (3 given)s1 = {6, 'b', 'd'} s2 = {2, 'a', 'c'} s1.union(s2) print(s1) #不更新 輸出: {'b', 'd', 6} update()示例?
轉載于:https://www.cnblogs.com/allentsui/p/8532614.html
總結
以上是生活随笔為你收集整理的1.Python数据类型、方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程——单例模式
- 下一篇: HALCON示例程序class_2dim