一撞蜂、數(shù)據(jù)類型
弱類型
1远剩、數(shù)值類型
整數(shù)达布、浮點數(shù)以及相互的換算:
1、整數(shù):int
type()輸出數(shù)據(jù)類型
int(1.1)=1
float(1)=1.0
2馅而、浮點數(shù):float
7%2=2 只返回余數(shù)祥诽;7//2=3 返回整數(shù)部分
2、字符串類型 string
加雙引號或者單引號"a"瓮恭、‘a(chǎn)’
注意:
(1)第一種方式
當一段字符有單引號應(yīng)用時雄坪,外面使用雙引號,反之同理偎血。
當一段字符既有單引號又有雙引號诸衔,此時就用超級無敵三引號,也就是三個單引號作為邊界(換行也可以正確表示)
(2)第二種方式
將雙引號前加 \?
print()內(nèi)容輸出函數(shù)颇玷,雙引號定義字符串
3笨农、布爾類型 true false
4、none表示值缺失帖渠,‘’表示值為空
二谒亦、變量
數(shù)據(jù)與數(shù)據(jù)運算,反復(fù)用到某個值空郊,引入變量
對應(yīng)的是常量
變量不僅能讀份招,還能寫(也就是重新賦值)
小技巧:
1、多個變量賦值狞甚,用逗號分隔锁摔;a,b=1,2
2、a=a+1哼审,等號右邊先計算谐腰,等價于a+=1
3孕豹、變量的更高階用法,和數(shù)據(jù)結(jié)構(gòu)結(jié)合使用
三十气、數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu):三大励背,分別為列表(數(shù)組)、字典砸西、元組
1叶眉、列表(方括號)
1.1 基礎(chǔ)列表
list,一串有序的集合芹枷,可數(shù)字也可字符
num=[1,2,3]
sum(num)
(1)查找衅疙,訪問某個元素,應(yīng)用索引或者切片實現(xiàn)
num[0]:表示列表的第一個元素?
num[-1]:表示倒數(shù)第一個元素
num[0:2]:取前兩個元素
num[0,len(num)]:表示所有元素??
注意:num[0:1]只是取第一個元素
num[0:2]取前兩個元素
說明方括號取的是左閉右開
(2)增加
num.insert(位置杖狼,值)
append()函數(shù)炼蛤,在末尾插入妖爷,函數(shù)循環(huán)用到比較多
shift+Tab查看函數(shù)的具體用法
num.insert(1,4)
結(jié)果:num=[1, 4, 2, 3]
num.append(4)
結(jié)果:num=[1, 4, 2, 3, 4]
(3)刪除
pop()函數(shù)刪除的意思蝶涩,若參數(shù)處為空的話,默認刪除末尾
num.pop(2)表示刪除第三個位置絮识,因為從0開始
結(jié)果:num=?[1, 4, 3, 4]
(4)更改
num[1]=5 將第二個4更改成5绿聘,直接使用索引更改
結(jié)果:num=[1, 5, 3, 4]
1.2進階列表
一維列表
二維列表b=[[1,2],[1,4]]
name=['wang','li','xue']sex=['nan','nv','nan']age=[18,30,20]
info=[name,sex,age]
結(jié)果:info=[['wang', 'li', 'xue'], ['nan', 'nv', 'nan'], [18, 30, 20]]
info2=[['wang','nan',18],['li','女',30],['xue','nan',20]]
一般習(xí)慣第二種,行表示明細次舌,列標識維度
其他:
a=[0]*3 將0元素擴展為三分
結(jié)果a=[0, 0, 0]
拓展成多維:
[a]*4=[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
2熄攘、元組(圓括號)
元組與列表的區(qū)別:
元組不能修改,列表可以修改
a=(1,2)
索引:
a[0]
3彼念、字典(大括號),無序
鍵key值value對
a={'id':1,'name':'xueuxe','sex':'famle','age':18}
(1)索引挪圾,查找
a['id']
列表查找慢,后期效率慢逐沙,空間占的少
字典查找速度相等哲思,空間占的多
(2)修改
a['id']=2
a={'id': 2, 'name': 'xueuxe', 'sex': 'famle', 'age': 18}
判斷id在不在a中
'id'in a
(3)刪除
a.pop('name')
(4)增加
a['name']='xuexue'
a={'id': 2, 'sex': 'famle', 'age': 18, 'name': 'xuexue'}
四、列表和字典的應(yīng)用
字典(大括號),無序
1吩案、列表
set()函數(shù)的作用:
1棚赔、去重函數(shù)
2、去重后不能直接索引徘郭,需要再外面加一個list()函數(shù)
a=[1,2,3]
b=[2,3,4]
交集:set(a)&set(b)
{2, 3}
并集:? set(a) | set(b)
{1, 2, 3, 4}
差集:set(a)-set(b)
{1}
邏輯判斷:?[1,2]<a
Out[22]:True
2靠益、字典
a={"name":"qinlu","age":11}
a.keys()
1、提前字段:list(a.keys())
['name', 'age']
2残揉、提取值:list(a.values())
['qinlu', 11]
3胧后、提取所有:list(a.items())
[('name', 'qinlu'), ('age', 11)]? ? #元組(),特性不可修改
4抱环、a.get("name")? ?查找
'qinlu'
5壳快、a.setdefault("sex","famle")? ?查找到返回途样,查找不到先賦值再出結(jié)果
'famle'
6、字典交集濒憋,并集等操作見列表
五何暇、控制流
1、if凛驮,從上到下執(zhí)行
if a > 10:
????print("more than 10")
elif a==10:
????print("equel to 10")
else: print("less than 10")
嵌套if
if a>10:
print("more than 10")
????????if a%2==0:
????????????????print("ou")
????????else :
????????????????print("ji")
else: print("less than 10")
2裆站、循環(huán)語句
a、while
count=0
while count<10:
????print(count)
????count=count+1
break:循環(huán)語句終止
count=0
while count<10:
????print(count)
????count=count+1
????if count ==5:
????????break
continue:本句斷掉黔夭,但是整個不終止
count=0
while count<10:
????count=count+1
????if count ==5:
????continue
print(count)
b宏胯、for,不容易進入死循環(huán)
range()函數(shù):控制循環(huán)次數(shù)
for i in range(10):
????print(i)
for i in range(5,10):
????print(i)
for i in range(5,10,2):
????print(i)
列表逐一輸出
a=["a","b","c"]
for i in a:
????print(i)
字典循環(huán)輸出
dist= {"a":1,"b":2,"c":"abc"}
for k in dist.items():
????print(k)
for k in dist.values():
????print(k)
兩個循環(huán)同時
dist= {"a":1,"b":2,"c":"abc"}
for k,v in dist.items():
????print(k,v)
c本姥、循環(huán)進階肩袍,
1、生成1到100的列表
list=[]
for i in range(1,101):
????list.append(i)
list
等價于
list2=[i for i in range(1,101)]
2婚惫、生成1到100的偶數(shù)列表
list=[]
for i in range(1,101):
????if i%2==0:
????????list.append(i)
list
等價于
list2=[i for i in range(1,101)if i%2==0]? ##注意沒有冒號
字典的數(shù)據(jù)取出來再生成列表:
dist= {"a":1,"b":2,"c":3}
[k**2 for k in dist.values()]