列表-切片
切片的目的就是獲取列表中的一部分,得到一個新的列表,不改變原來枉证。
'''
ls=[i**2 for i in range(0,9)]
print(ls)
'''
#切片[a:b:c]? a默認(rèn)是0以躯,b默認(rèn)是len
#下標(biāo)從a開始,截止到b湖饱,b是取不到的? [a,b)
#c是間隔掖蛤,默認(rèn)是1
'''
ls=[i for i in range(1,9)]
print(ls)
print(ls[1:5])
print(ls[1:7:2]) #從下標(biāo)1開始到長度7,間隔為2
print(ls[0:len(ls):2])? #從下標(biāo)0開始到表長,間隔2
print(ls[::2])? ? #同上
ls.reverse()? #倒序
print(ls)
print(ls[::-1]) #間隔為-1,相當(dāng)于倒序
print(ls[7:1:-1]) #從下標(biāo)7開始到1
print(ls)
'''
ls1=mylist[1:3]
ls2=mylist[3:11]
print(ls1+ls2)
遍歷
遍歷我的列表,while和for的兩種循環(huán)方式
ls=[i for i in range(1,9)]
myindex=0
mylen=len(ls)
while myindex<mylen:
? ? print('%s:%s'%(myindex,ls[myindex]))
? ? myindex+=1
==========================================
for m in ls:
? ? print('%s:%s'%(ls.index(m),m))
傳遞
一個變量傳給另一個變量
a=10
b=a
a=20
print(‘a(chǎn)=%s井厌,b=%s’%(a蚓庭,b))
================================================
ls1 = [1,2,3]
ls2 = ls1
print('ls1=%s,ls2=%s'%(ls1,ls2))
ls1.append(120)
print('ls1=%s,ls2=%s'%(ls1,ls2))
**********************************************************************
a=10 ?
b=10 ? ? (地址相同)
ls1=[1,2,3]
ls2=[1,2,3] ?? (地址不同)
python 組織數(shù)據(jù)的方式不一樣致讥,普通類型(數(shù)字,字符串器赞,布爾垢袱,空)與集合列表不同
傳遞變量,二者都是指向同一個地址內(nèi)存港柜,如果是普通類型请契,不會影響另一方,如果是非普通類型(集合夏醉,對象)爽锥,會影響另一方。
普通類型的傳遞再修改----->值傳遞
非普通類型的傳遞再修改-------->引用傳遞
元組
與列表類似畔柔,不同之處在于元組的元素不能修改救恨。元組使用小括號,列表使用中括號释树。元組的功能 = 列表不修改的功能肠槽。
tu =(1,2,3)
print(tu[0]) #下標(biāo)為0的元素
print(tu.index(2))? #查詢2的下標(biāo)
print(tu.count(1))? #出現(xiàn)數(shù)量
tu1=(1,2,3) ? ? #列表轉(zhuǎn)元組
ls1=[4,5,6]
tu2=tuple(ls1)
print(tu2)
***********我是智障的分割線************
tu1=(1,2,3) ? ? ? ? ? #元組轉(zhuǎn)列表
ls1=[4,5,6]
ls2=list(tu1)
print(ls2)
注意:轉(zhuǎn)變之后都是得到一個新的,不會修改原來的奢啥。
****************割**********************
num=(1,2,3,[22,33,44])
num[3][2]=4444 ? ?? #可以將元組里的列表內(nèi)的元素改變
print(num)
print(num[3][2])
元組是一個特殊的列表秸仙,只讀,不能修改桩盲。一旦定義并賦值之后寂纪,不能再修改,只有查詢的功能赌结。如果元組只有一個值捞蛋,后面需要加上逗號,建議:元組柬姚,列表最后都加上一個逗號拟杉。
t1=(1,2,3)
t2=(1,2,3)? #? id 不一樣
字典
字典使用鍵-值(key-value)存儲,具有極快的查找速度量承。使用{ ? } ? 字典的鍵是無序的搬设,不能保證順序。
標(biāo)識符={’鍵1‘:值1撕捍,’鍵2:值2拿穴。。忧风。默色。。狮腿。}
注意: 1-鍵必須是字符串腿宰,值是任何類型的 2-鍵必須是唯一的弟蚀,值可以重復(fù),3-如果鍵重復(fù)酗失,后面會覆蓋前面的义钉,就是如果存在這樣的鍵,是修改规肴,不存在就是新增
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
#新增
infos['sex']='女'
print(infos)
'**************你的分割線***************'
#修改
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
infos['age']=17
print(infos)
'**************你的分割線***************'
#刪除鍵獲取值
sname=infos.pop('sid')
print(sname)
print(infos)
'**************我的分割線***************'
#刪除
del infos['age']
print(infos)
#長度
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
print(len(infos))
infos.clear()
print(infos)
'**************她的分割線***************'
#獲取捶闸,如果沒有,獲取默認(rèn)值
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
print(infos['age'])
print(infos.get('sex'))
print(infos.get('sex','無'))
print(infos.get('age','有'))
'**************咱的分割線***************'
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
#獲取所有的鍵
infos_keys=infos.keys()
print(infos_keys)
for k in infos_keys:
print(k)
#獲取所有的值
infos_values=infos.values()
print(infos_values)
for value in infos_values:
print(value)
'*************割*******************’
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
infos_keys=infos.keys()
for k in infos_keys:? ? #遍歷鍵,獲得值(第一種遍歷方式)
print('%s:%s'%(k,infos[k]))
print(len(infos))
infos_items=infos.items()
print(infos_items)
for k in infos_items:
print('k=%s'%str(k))? #第二種遍歷方式
key=k[0]
value=k[1]
print('%s:%s'%(key,value))
‘****************割******************’
for k in infos:? ? ? ? ? #第三種遍歷方式
print(k)
print('%s:%s'%(k,infos[k]))
'**************是不是分割線***************'
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
key=input('輸入鍵:')? ? #判斷鍵的存在
if key in infos:
print('有')
else:
print('無')
‘*********************割******************’
#獲取所有的值
infos={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐沖','燙頭發(fā)']
}
infos_values = infos.values()
value = input('輸入要搜索的值:')
#False表示沒有拖刃,True表示有
flag = False
#遍歷值?
‘’‘
for k in infos_values:
if k==value:
flag = False
break
’‘’
flag = value in infos_values
if flag:
print('有')
else:
print('無)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2017-10-31