Day01,Python數(shù)據(jù)類型及常見操作-創(chuàng)新互聯(lián)

一、標(biāo)準(zhǔn)數(shù)據(jù)類型

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的湖濱網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1、Number(數(shù)字)

      int(整數(shù)):-1,1

      bool(布爾類型):True,F(xiàn)alse

      float(浮點類型):1.13,3E-2

      complex(復(fù)數(shù)):1+2j,1.1+2.2j

2、String(字符串):“Hello World!”

3、List(列表):[1, 2, 3],[‘a(chǎn)’, ‘b’, ‘c’]

4、Tuple(元組):(1, 2, 3)

5、Set(集合):set([1, 2, 3])

6、Dictionary(字典):{‘name’: ‘Tom’, ‘a(chǎn)ge’:22}

注:不可變數(shù)據(jù)類型:Number,String,Tuple;可變數(shù)據(jù)類型:List,Dictionary,Set

二、字符串常見操作

1、數(shù)據(jù)類型轉(zhuǎn)換

str():將括號內(nèi)的數(shù)據(jù)類型轉(zhuǎn)換成字符串

Day01,Python數(shù)據(jù)類型及常見操作

2、切片、逆序

demo[0:5]:截取字符串下標(biāo)0到5之間的字符串

demo[0:5:2]:截取字符串下標(biāo)0-5之間每隔2個字符組成的字符串

demo[::-1]:將字符串逆序

Day01,Python數(shù)據(jù)類型及常見操作

注:下標(biāo)若為負(fù)數(shù)代表從字符串右邊開始計數(shù)

3、字符串常見方法

str1.find(str2, start=None, end=None):在str1中查找字符串str2,返回查找的第一個str2的下標(biāo),若找不到則返回-1

str1.rfind(str2, start=None, end=None):從字符串str1右邊開始查找

Day01,Python數(shù)據(jù)類型及常見操作

str1.index(str2, start=None, end=None):類似find()函數(shù),不同的是若找不到則拋出ValueError異常

str1.rindex(str2, start=None, end=None):類似rindex()函數(shù)

Day01,Python數(shù)據(jù)類型及常見操作

str1.count(str2, start=None, end=None):統(tǒng)計str2在str1出現(xiàn)的次數(shù)

Day01,Python數(shù)據(jù)類型及常見操作

str1.replace(str2, str3, count):將str1中的str2替換成str3,若指定count,則只替換count次,原變量str1不變,返回新的變量

Day01,Python數(shù)據(jù)類型及常見操作

str1.split(sep=None, maxsplit=-1):以str2為分割符分割str1,返回一個數(shù)組,默認(rèn)以空格作為分割符,若指定maxsplit,則只分割maxsplit次

Day01,Python數(shù)據(jù)類型及常見操作

str1.capitalize():字符串第一字母大寫

str1.title():字符串中每個單詞首字母大寫

Day01,Python數(shù)據(jù)類型及常見操作

str1.startswith(str2):判斷字符串str1是否以字符串str2開始

str1.endswith(str2):判斷字符串str1是否以字符串str2結(jié)束

Day01,Python數(shù)據(jù)類型及常見操作

str1.lower():將字符串中字母轉(zhuǎn)換成小寫

str1.upper():將字符串中字母轉(zhuǎn)換成大寫

Day01,Python數(shù)據(jù)類型及常見操作

str1.rjust(width, fillchar=None):返回一個新字符串右對齊,并使用fillchar填充至width的新字符串,默認(rèn)填充符是空格

str1.center(width, fillchar=None):返回一個新字符串居中對齊,并使用fillchar填充至width的新字符串

str1.ljust(width, fillchar=None):返回一個新字符串左對齊,并使用fillchar填充至width的新字符串

Day01,Python數(shù)據(jù)類型及常見操作

str1.lstrip(chars=None):默認(rèn)去除字符串左邊的空格,若指定chars,則去除所有指定字符

str1.rstrip(chars=None):默認(rèn)去除字符串左邊的空格

str1.strip(chars=None):默認(rèn)去除字符串兩邊的空格

Day01,Python數(shù)據(jù)類型及常見操作

str1.partition(str2):查找str1中的第一個str2,并以此為分割符,返回分割后的兩個字符串與分割符組成的元組,split函數(shù)返回的是列表

Day01,Python數(shù)據(jù)類型及常見操作

str1.splitlines(keepends=None):以換行符分隔,返回一個列表,keepends參數(shù)是個布爾值,表示是否保留換行符到結(jié)果中

Day01,Python數(shù)據(jù)類型及常見操作

str1.join(list1):將str1作為分隔符與列表中各值組成新的字符串

Day01,Python數(shù)據(jù)類型及常見操作

str1.expandtabs(tabsize=8):將字符串中制表符轉(zhuǎn)換成空格,默認(rèn)是8個空格

Day01,Python數(shù)據(jù)類型及常見操作

str1.isalpha():判斷是否是字母組成的字符串

str1.isalnum():判斷是否是由字母和數(shù)字組成的字符串

str1.isspace():判斷是否是空白字符組成的字符串,例\t、\n、\r

str1.isidentifier():判斷是否符合標(biāo)準(zhǔn)變量命名規(guī)范

str1.isdecimal(),str1.isdigit(),str1.isnumeric()三個函數(shù)的區(qū)別:

Day01,Python數(shù)據(jù)類型及常見操作

4、字符串格式化輸出

 1  # 方式一
 2  info = """
 3      info of %s
 4  name: %s
 5  age: %s
 6  job: %s
 7  salary: %s
 8  """%(name, name, age, job, salary)
 9 
 10 # 方式二
 11 info2 = """
 12     info of {_name}
 13 name: {_name}
 14 age: {_age}
 15 job: {_job}
 16 salary: {_salary}
 17 """.format(_name=name,
 18            _age=age,
 19            _job=job,
 20            _salary=salary)
 21 
 22 # 方式三
 23 info3 = """
 24     info of {0}
 25 name: {0}
 26 age: {1}
 27 job: {2}
 28 salary: {3}
 29 """.format(name, age, job, salary)

三、數(shù)據(jù)運算

1、算數(shù)運算

+   加
-   減
*   乘
/   除
%   取模,返回除法的余數(shù)
**   冪
//   返回商的整數(shù)部分

2、比較運算

==     等于,比較對象是否相等
!=, <>   不等于,比較對象是否不相等
>      大于
<      小于
>=     大于等于
<=     小于等于

3、賦值運算

=      簡單的賦值運算符
+=     c+=a等效于c=c+a
-=     c-=a等效于c=c-a
*=     c*=a等效于c=c*a
/=     c/=a等效于c=c/a
%=     c%=a等效于c=c%a
**=     c**=a等效于c=c**a
//=     c//=a等效于c=c//a

4、邏輯運算

and    布爾“與”
or     布爾“或”
not    布爾“非”

5、成員運算

in     如果在指定的序列中找到值返回True,否則返回False
not in      如果在指定的序列中沒有找到值返回True,否則返回False

6、身份運算

is     判斷兩個標(biāo)識符是不是引用自一個對象
is not       判斷兩個標(biāo)識符是不是引用自不同對象

7、位運算

&   按位與運算
|   按位或運算
^   按位異或
~   按位取反
<<  左移動
>>  右移動

8、運算優(yōu)先級

Day01,Python數(shù)據(jù)類型及常見操作

四、列表常見操作

1、增加

list1.append():在列表尾部添加

list1.insert(index, obj):在指定下標(biāo)添加obj元素

list1.extend(list2):將列表list2的所有值添加到list1

list1+list2:列表list1與list2組成新的列表返回

Day01,Python數(shù)據(jù)類型及常見操作

2、刪除

list1.pop():刪除列表最后的值,返回刪除的值

list1.remove(obj):刪除列表中指定的內(nèi)容

del list1[index]:刪除列表中指定下標(biāo)的內(nèi)容

Day01,Python數(shù)據(jù)類型及常見操作

3、修改

list1[index]=obj:修改列表中指定下標(biāo)的內(nèi)容

Day01,Python數(shù)據(jù)類型及常見操作

4、查找

list1.index(obj):返回查找的內(nèi)容的下標(biāo),若找不到則拋出ValueError異常

list1.count(obj):統(tǒng)計查找內(nèi)容出現(xiàn)的次數(shù)

if obj in list1:判斷obj是否在列表中

if obj not in list1:判斷obj是否不在列表中

Day01,Python數(shù)據(jù)類型及常見操作

5、排序

list1.sort(reverse=False):列表排序,默認(rèn)升序,列表變量會被永久修改,若reverse=True則降序

sorted(list1, reverse=False):返回排序的新列表,原列表數(shù)據(jù)不變,若reverse=True則降序

list1.reverse():列表順序翻轉(zhuǎn)

Day01,Python數(shù)據(jù)類型及常見操作

6、統(tǒng)計計算

min(list1):返回列表中最小值

max(list1):返回列表中大值

sum(list1):返回列表中所有值的和

Day01,Python數(shù)據(jù)類型及常見操作

7、列表解析

Day01,Python數(shù)據(jù)類型及常見操作

8、復(fù)制列表

Day01,Python數(shù)據(jù)類型及常見操作

list1與list3是相同的內(nèi)存空間,list2是全新的

淺復(fù)制與深復(fù)制的區(qū)別:

 1  names = ["tom", "jerry",["alex", "jordan"], "marry", "jack"]
 2  names2 = names.copy()   # copy 淺復(fù)制,只復(fù)制第一層,第二層內(nèi)容不會復(fù)制
 3  print(names, names2)
 4  names[0] = "dog"
 5  names2[2][0] = "cat"
 6  print(names, names2)
 7  #  ----------------------------------------
 8  import copy
 9  n1 = ["tom", "jerry",["alex", "jordan"], "marry", "jack"]
 10 n2 = copy.deepcopy(n1)   # deepcopy 深復(fù)制,完全復(fù)制內(nèi)存內(nèi)容
 11 print(n1, n2)
 12 n1[0] = "dog"
 13 n2[2][0] = "cat"
 14 print(n1, n2)
 15 
 16 # 淺copy的三種方式
 17 person = ["jack", ["男", 25]]
 18 # 1
 19 p1 = copy.copy(person)
 20 # 2
 21 p2 = person[:]
 22 # 3
 23 p3 = list(person)

五、元組

元組又叫只讀列表,一旦創(chuàng)建,便不能再修改,它只有兩個方法,一個count,一個index。

語法

names = ("tom","jack","eric")

六、字典常見操作

1、增刪改查

dict1 = []
dict1['name'] = 'Tom'   # 增加
del dict1['name']       # 刪除
dict1['name'] = 'Jerry' # 修改
dict1.get('name')       # 查找

2、其它方法

dict1.keys():返回字典中所有key組成的列表
dict1.values():返回字典中所有vlaue組成的列表
for key, value in dict1.items():循環(huán)打印
dict1.update(dict2):將字典dict2中的內(nèi)容更新到字典dict1,若key相同則更新value,不同則添加鍵值對
dict.fromkeys([key1, key2, key3…], value):初始化一個字典

七、集合常見操作

set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復(fù),所以在set中,沒有重復(fù)的key。

Day01,Python數(shù)據(jù)類型及常見操作

set1.add(obj):添加元素

set1.pop():任意刪除集合中的一個值,返回該值

set1.remove(obj):刪除元素,若值 不存在會報錯

set1.discard(obj):刪除元素,若值不存在也不會報錯

Day01,Python數(shù)據(jù)類型及常見操作

集合之間的運算

 1  s1 = set([1, 2, 3])
 2  s2 = set([2, 4, 5])
 3  # 交集
 4  print(s1 & s2)
 5  print(s1.intersection(s2))
 6  # 并集
 7  print(s1.union(s2))
 8  print(s1 | s2)
 9  # 差集 in set1 but not in set2
 10 print(s1 - s2)
 11 print(s1.difference(s2))
 12 # 子集
 13 s3 = set([1, 2, 3])
 14 s4 = set([1, 2])
 15 print(s4.issubset(s3))
 16 # 父集
 17 print(s3.issuperset(s4))
 18 # 對稱差集   把相同的去掉組成新的集合
 19 print(s1.symmetric_difference(s2))
 20 print(s1 ^ s2)
 21 s5 = set([4, 5])
 22 # 判斷兩個集合是否有交集,有即返回false
 23 print(s3.isdisjoint(s5))

八、補充

1、dict與list的比較

dict有以下特點:

       查找和插入的速度極快,不會隨著key的增加而變慢

       需要占用大量的內(nèi)存,內(nèi)存浪費多

而list相反:

       查找和插入的時間隨著元素的增加增加

       占用空間小,浪費內(nèi)存很少

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:Day01,Python數(shù)據(jù)類型及常見操作-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://muchs.cn/article32/csposc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站制作電子商務(wù)、網(wǎng)站改版、建站公司、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)