python標(biāo)準(zhǔn)數(shù)據(jù)類型:
1跨新,數(shù)字(number)
2休里,字符串?(string)
3蛆挫,列表(List)?
4,元組(Tuple)
5妙黍,字典(Dictionary)
一悴侵,數(shù)字類型
# int(有符號整型)
# long(長整型[也可以代表八進(jìn)制和十六進(jìn)制])
# float(浮點型)
# complex(復(fù)數(shù))
二,字符串類型
# python的字串列表有2種取值順序:
# 從左到右索引默認(rèn)0開始的拭嫁,最大范圍是字符串長度少1
# 從右到左索引默認(rèn)-1開始的可免,最大范圍是字符串開頭
s ='ilovepython'
ss='iloveyan'
print("1? "+s);? ? ?#輸出ilovepython
print("2? "+s[1:5])? ? ?#輸出love
print("3? "+s[0])? ? ? ? ?# 輸出i
print("4? "+s[-1])? ? ? ?# 輸出n
print("5? "+s[-5:-1]);
三,列表類型
# 列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] 做粤,就可以截取相應(yīng)的列表浇借,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始怕品,下標(biāo)可以為空表示取到頭或尾妇垢。
# 加號 + 是列表連接運算符(只能將兩個列表組合到一起),星號 * 是重復(fù)操作
# a 列表生成器 range(start,stop,step)? start一般由0開始 stop到stop結(jié)束(不包含stop)? step 為步數(shù)
list=[1,2,3,'haha'];
print(list[1]);
list[1]=100;
print(list)? ? ? ? ? ?#可以二次賦值
sedlist=[list,8,0,'sss'];
print(sedlist)
print(list+sedlist);
print(list*2)
print(len(list));? ? ?# len 計算list長度
# 列表生成器練習(xí)
練習(xí)一
?for x in range(1,11):
? ? ?L.append(x*x);? ? ? #輸出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
練習(xí)二
print([x*xfor xin range(1,11)if x%2==0])? ? ? ? #[4, 16, 36, 64, 100]
print( [m + nfor min 'ABC' for nin 'XYZ'])
L = ['Hello', 'World', 'IBM', 'Apple']
[s.lower()for sin L]? ? ? ? ? ? ? ? ? ? ? ? # 輸出['hello', 'world', 'ibm', 'apple']
四肉康,元組類型
# 元組是另一個數(shù)據(jù)類型闯估,類似于List(列表)。
# 元組用"()"標(biāo)識吼和。內(nèi)部元素用逗號隔開睬愤。但是元組不能二次賦值,相當(dāng)于只讀列表纹安。
tuple=(1,2,3)
print(tuple*2);
print(tuple[1]);
# tuple[1]=200;
# print(tuple);? ? #注意:元組不能二次賦值
五尤辱,字典類型
#列表是有序的對象集合,字典是無序的對象集合厢岂。
#兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的光督,而不是通過偏移存取。
#字典用"{ }"標(biāo)識塔粒。字典由索引(key)和它對應(yīng)的值value組成结借。
#字典有兩種賦值方法如下
dict={}
dict['one']="this is one";
dict['two']="this is two";
print(dict)
dict1={'name':"hanlin",'age':22,'sex':"man"};
print(dict1['name'])
print(dict1)
f=1.8
print(int(f))
print(isinstance(str(f),str))# 判斷數(shù)據(jù)類型
#補(bǔ)充1,:dict的items()可以同時迭代key和value:
d = {'x':'A', 'y':'B', 'z':'C' }
for k, vin d.items():
print(k, '=', v)# x=A,y=B,z=C
# 補(bǔ)充2:要避免key不存在的錯誤卒茬,有兩種辦法船老,一是通過in判斷key是否存在 二是通過dict提供的get方法咖熟,如果key不存在,可以返回None柳畔,或者自己指定的value:
dict21={'name':"hanlin",'age':22,'sex':"man"};
if('name'in dict21):
print(1)
print(dict21.get('class',"沒有class"))
print(dict21.get('name',-1))
# 補(bǔ)充3:dict和list比較馍管,dict有以下幾個特點:
# 1,查找和插入的速度極快薪韩,不會隨著key的增加而增加确沸;
# 2,需要占用大量的內(nèi)存俘陷,內(nèi)存浪費多罗捎。
# 而list相反:
#
# 查找和插入的時間隨著元素的增加而增加;
# 1拉盾,占用空間小桨菜,浪費內(nèi)存很少。
# 2捉偏,所以倒得,dict是用空間來換取時間的一種方法。)
六告私,set
# set和dict的唯一區(qū)別僅在于沒有存儲對應(yīng)的value,但是承桥,set的原理和dict一樣驻粟,所以,同樣不可以放入可變對象凶异,因為無法判斷兩個可變對象是否相等蜀撑,也就無法保證set內(nèi)部“不會有重復(fù)元素”
s1=([1,2,3],[4,5,5],[4,2,2])
print(s1)
s2=([1,1,2,2,3,3])
print(s2)
# add(key) 可以添加到set中
# remove(key) 可以刪除set中
# s2.add(77);
# print(s2)