python中數(shù)據(jù)類型分為不可變數(shù)據(jù)類型和可變數(shù)據(jù)類型
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括夏邑網(wǎng)站建設(shè)、夏邑網(wǎng)站制作、夏邑網(wǎng)頁制作以及夏邑網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,夏邑網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到夏邑省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
可變數(shù)據(jù)類型包括:List(列表)、Dictionary(字典)、Set(集合)
不可編數(shù)據(jù)類型包括:Number(數(shù)字)、String(字符串)、Tuple(元組)
#不可變數(shù)據(jù)類型
str1 = "ascdfg"
str2 = str1
print(str2)
print("----------------------------")
str1 = "ooooooopo"
print(id(str1))
print(id(str2))
--------------------------------------------
ascdfg
----------------------------
> 運(yùn)行結(jié)果顯示:內(nèi)存地址不同
可變數(shù)據(jù)類型
可變數(shù)據(jù)類型賦值后不會(huì)創(chuàng)建新的內(nèi)存地址空間
賦值數(shù)據(jù)與被賦值數(shù)據(jù)還是同時(shí)指向同一塊地址
#可變數(shù)據(jù)類型
list1 = [1,2,3]
list2 = list1 #將list1的值賦給list2
print("改變前")
print(list2) #輸出list2
print("----------------------------")
list1[0] = 2 #將list1的第一個(gè)元素賦值為2
print("改變后")
print("list1:\t",id(list1))
print("list2:\t",id(list2))
運(yùn)行結(jié)果顯示:內(nèi)存地址相同
#列表截取
t = [1,5,6,7,2,9]
a = t[2:5]
b = t[2:]
print(a)
print(b)
---------------------------------------------------
[6, 7, 2]
[6, 7, 2, 9]
[2:5]是左閉右開的一個(gè)區(qū)間,故截取的是[6,2,7],而[2:]譯為截取從編號(hào)2開始到最后一個(gè)
append()方法添加列表項(xiàng),并對(duì)數(shù)據(jù)項(xiàng)進(jìn)行修改或更新
#append()方法添加列表項(xiàng)
list1 = ['aaaa','qwe','zxc']
list2 = list1
print("第三個(gè)元素為",list1[2])
list1.append('cccccc')
print(list2)
---------------------------------------------------
第三個(gè)元素為 zxc
['aaaa', 'qwe', 'zxc', 'cccccc']
del語句刪除列表元素
#使用del語句進(jìn)行刪除列表項(xiàng)
list1 = ['asd','zxc','qwe']
del list1[0]
print(list1)
---------------------------------------------------
['zxc', 'qwe']
len(list)函數(shù)查詢列表元素個(gè)數(shù)
list1 = [1,2,5,6,8,2,4,2]
print(len(list1))
---------------------------------------------------
8
max(list)函數(shù)返回列表元素的最大值
list1 = [1,2,7,8,9,2,4,2]
print(max(list1))
---------------------------------------------------
9
min(list)函數(shù)返回列表元素的最小值
list1 = [1,2,7,8,9,2,4,2]
print(min(list1))
---------------------------------------------------
1
list(seq)函數(shù)將元組轉(zhuǎn)換為列表
tup = ('asx','apple',1,5,5)
print("tup的數(shù)據(jù)類型為",type(tup))
list1 = list(tup) #將tup元組轉(zhuǎn)換為列表并賦值給list1
print(list1)
print("list1的數(shù)據(jù)類型為",type(list1))
---------------------------------------------------
tup的數(shù)據(jù)類型為 <class 'tuple'>
['asx', 'apple', 1, 5, 5]
list1的數(shù)據(jù)類型為 <class 'list'>
list.count(obj)函數(shù)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
#count()方法統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list1 = [1,2,5,6,8,2,4,2]
list2 = list1.count(2)
print(list2)
---------------------------------------------------
3
list.extend(seq)函數(shù)在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)
#extend()方法進(jìn)行擴(kuò)展列表
list1 = ['apple','qaz','wsx']
list2 = list(range(0,5)) #range()創(chuàng)建0-4的列表
list1.extend(list2)
print(list1)
---------------------------------------------------
['apple', 'qaz', 'wsx', 0, 1, 2, 3, 4]
list.index(obj)從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
#index()從列表找出某一個(gè)值第一個(gè)匹配項(xiàng)的索引位置
list1 = [1,5,3,6,9,8]
print(list1.index(3))
---------------------------------------------------
2
list.insert(index,obj)將對(duì)象插入列表
#insert()將對(duì)象插入列表
list1 = ['apple','qaz','wsx']
list1.insert(1,'qwe') #insert(索引位置,要插入的對(duì)象)
print(list1)
---------------------------------------------------
['apple', 'qwe', 'qaz', 'wsx']
list.pop([index=-1])移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值
#pop()移除列表的一個(gè)元素(默認(rèn)最后一個(gè)元素),并返回該元素的值
list1 = ['apple','qaz','wsx']
list_pop = list1.pop(1)
print("刪除項(xiàng)為",list_pop)
print("列表現(xiàn)在為",list1)
---------------------------------------------------
刪除項(xiàng)為 qaz
列表現(xiàn)在為 ['apple', 'wsx']
list.remove(obj)移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
#remove()移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list1 = ['qsd','apple','wsx','apple']
list_remove = list1.remove('apple')
print(list1)
---------------------------------------------------
['qsd', 'wsx', 'apple']
list.reverse()反向列表中的元素
#reverse()反向列表中的元素
list1 = ['apple','qaz','wsx']
list_re = list1.reverse()
print(list1)
---------------------------------------------------
['wsx', 'qaz', 'apple']
list.sort(key=None,reverse=False)對(duì)列表進(jìn)行排序
#sort()對(duì)原列表進(jìn)行排序
list1 = [1,5,3,6,9,8]
list0 = [1,6,4,2,3,8,1,9]
list2 = list0.sort(reverse=True) #reverse=true 降序
list3 = list1.sort(reverse=False) #reverse=falses 升序
print("降序",list0)
print("升序",list1)
---------------------------------------------------
降序 [9, 8, 6, 4, 3, 2, 1, 1]
升序 [1, 3, 5, 6, 8, 9]
list.clear()清空列表
#clear()清空列表
list1 = [1,5,3,6,9,8]
list1.clear()
print(list1)
---------------------------------------------------
[]
list.copy()復(fù)制列表
#copy()復(fù)制列表
list1 = [1,5,3,6,9,8]
list2 = list1.copy()
print(list2)
---------------------------------------------------
[1, 5, 3, 6, 9, 8]
tup1 = ("asd","asdasd",[1,2,5,9,8])
print(type(tup1))
print(tup1[-1])
---------------------------------------------------
<class 'tuple'>
[1, 2, 5, 9, 8]
訪問字典中的值(通過鍵去訪問對(duì)應(yīng)的值)
d = {"age":13,"sex":'男',"name":"lihua"}
print(d["sex"])
---------------------------------------------------
男
創(chuàng)建空字典的兩種方法
#創(chuàng)建空字典法一
emptydict = {}
print(emptydict)
print(len(emptydict))
print(type(emptydict))
---------------------------------------------------
{}
0
<class 'dict'>
#創(chuàng)建空字典法二
emptydict1 = dict()
print(emptydict1)
print(len(emptydict1))
print(type(emptydict1))
---------------------------------------------------
{}
0
<class 'dict'>
修改字典
#修改字典
d = {"age":13,"sex":'男',"name":"lihua"}
d["age"] = 10 #更新age
d["school"] = "北京大學(xué)" #增添信息
print(d["age"])
print(d["school"])
---------------------------------------------------
10
北京大學(xué)
刪除、添加字典元素
#刪除字典元素
d = {"age":13,"sex":'男',"name":"lihua"}
d1 = dict() #創(chuàng)建空字典
d1["name"] = "張偉" #添加信息
print(d1["name"])
del d1["name"] #刪除字典信息
d1.clear() #清除字典
print(d1)
---------------------------------------------------
張偉
{}
ax = {'apple','qwe','apple','lllsd','qwe'}
print(ax)
#創(chuàng)建集合
ax1 = set("adsa")
print(ax1)
#判斷元素是否在集合中
z = 'apple' in ax
print(z)
---------------------------------------------------
{'qwe', 'lllsd', 'apple'}
{'a', 'd', 's'}
True
數(shù)據(jù)轉(zhuǎn)換可分為兩種:隱式類型轉(zhuǎn)換--自動(dòng)完成、顯示類型轉(zhuǎn)換--需要使用類型函數(shù)進(jìn)行轉(zhuǎn)換
將較低數(shù)據(jù)類型(整數(shù))轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點(diǎn)數(shù))以避免數(shù)據(jù)丟失
num_int = 123
num_float = 1.23
num_new = num_int + num_float
print("num_int的數(shù)據(jù)類型",type(num_int))
print("num_float的數(shù)據(jù)類型",type(num_float))
print("num_new的值",num_new)
print("num_new的數(shù)據(jù)類型",type(num_new))
---------------------------------------------------
num_int的數(shù)據(jù)類型 <class 'int'>
num_float的數(shù)據(jù)類型 <class 'float'>
num_new的值 124.23
num_new的數(shù)據(jù)類型 <class 'float'>
由于整型和字符串類型相加運(yùn)算結(jié)果會(huì)報(bào)錯(cuò),輸出TypeError,因此在這種情況下無法進(jìn)行隱式轉(zhuǎn)換。故python提供了一種解決方案稱為顯示轉(zhuǎn)換。
#顯示類型轉(zhuǎn)換
num_int = 123
num_str = "456"
print("num_int的數(shù)據(jù)類型",type(num_int))
print("類型轉(zhuǎn)換前,num_str的數(shù)據(jù)類型",type(num_str))
num_str = int(num_str) #強(qiáng)制轉(zhuǎn)換為整型
print("類型轉(zhuǎn)換后,num_str的數(shù)據(jù)類型",type(num_str))
num_sum = num_int + num_str
print("num_int和num_str相加的結(jié)果為",num_sum)
print("sum的數(shù)據(jù)類型為",type(num_sum))
---------------------------------------------------
num_int的數(shù)據(jù)類型 <class 'int'>
類型轉(zhuǎn)換前,num_str的數(shù)據(jù)類型 <class 'str'>
類型轉(zhuǎn)換后,num_str的數(shù)據(jù)類型 <class 'int'>
num_int和num_str相加的結(jié)果為 579
sum的數(shù)據(jù)類型為 <class 'int'>
python推導(dǎo)式是一種獨(dú)特的數(shù)據(jù)處理方式,可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)題,python支持各種數(shù)據(jù)結(jié)構(gòu)的推導(dǎo)式。
[表達(dá)式 for 變量 in 列表]
[out_exp_res for out_exp in input_list]
或
[表達(dá)式 for 變量 in 列表 if 條件]
[out_exp_res for out_exp in input_list if condition]
#列表推導(dǎo)式
news = ['Tom','Bob','Smith','Lorry','James','Curry']
new_names = [name.upper() for name in news if len(name)>3]
print(new_names)
---------------------------------------------------
['SMITH', 'LORRY', 'JAMES', 'CURRY']
#計(jì)算從0到30可以整除3的整數(shù)
match_30 = [i for i in range(31) if i % 3 == 0]
print(match_30)
---------------------------------------------------
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
本文標(biāo)題:One---python的六種數(shù)據(jù)類型及數(shù)據(jù)轉(zhuǎn)換
轉(zhuǎn)載注明:http://chinadenli.net/article36/dsogjsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)