1.
? ? 切片:
'''
列表生成式
'''
myList = [i*10 for i in range(0,11)]
print(myList)
'''
切片[a:b:c]
下標(biāo)從a開始,截止到b,b是取不到的? [a,b)
c是間隔,默認(rèn)是1
a默認(rèn)是0
b默認(rèn)是len(列表)
c默認(rèn)是1
'''
print(myList[1:4])
print(myList[1:4:2])
print(myList[1:4:2])
print(myList[0:len(myList):2])
print(myList[::2])
print(myList[:6:2])
'''
myList.reverse()
print(myList)
'''
print(myList[::-1])
print(myList[6:1:-1])
ls1 = myList[0:3]
ls2 = myList[3:11]
print(ls1+ls2)
print(myList)
2.
? ? 循環(huán)遍歷的兩種方式 :while ? 和? for
ls = [i*10 for i in range(1,11)]
myIndex = 0
myLen = len(ls)
while? myIndex<myLen:
print('%s:%s'%(myIndex,ls[myIndex]))
myIndex+=1
for item in ls:
print('%s=%s'%(ls.index(item),item))
3.? 傳遞;
'''
python組織數(shù)據(jù)的方式不一樣的
普通類型(數(shù)字、字符串、布爾、空) 與 集合列表不同
'''
ls1 = [1,2,3]
ls2 = [1,2,3]
print('ls1=%s,ls2=%s'%(ls1,ls2))
print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2)))
a = 10
b = 10
print('id(a)=%s,id(b)=%s'%(id(a),id(b)))
print('******************************************')
ls1 = [1,2,3]
ls2 = ls1
print('ls1=%s,ls2=%s'%(ls1,ls2))
print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2)))
ls2 = [1,2,3]
print('ls1=%s,ls2=%s'%(ls1,ls2))
print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2)))
?? 4. ? ? 4.1 元組:
'''
元組是一個特殊的列表。只讀,不能修改。
一旦定義并賦值之后,不能再修改了。
只有查詢的功能
'''
ls = [119,120,110]
print(type(ls))
tu = (119,120,110)
print(type(tu))
print(tu[0])
print(tu.count(120))
print(tu)
4.2? ? 元組使用小括號,列表使用方括號
? ? ? 一些需要注意的地方 :1.
nums = (1,2,3,4,)
print(nums)
nums = ()
print(nums)
print(type(nums))
'''
如果元組只有一個值,需要后面加逗號。
建議:
元組、列表,最后都加一個逗號
'''
nums = (110,)
print(nums)
print(type(nums))
t1 = (1,2,3)
t2 = (1,2,3)
print(id(t1))
print(id(t2)
? ? ? ? ? ? ? ?? 2. ??
nums = (1,2,3,[44,55,66])
print(len(nums))
print(nums[3][1])
print('******************************************')
nums = (1,2,3,[44,55,66])
nums[3][1] = 555
print(nums)
print('******************************************')
'''
nums = (1,2,3,[44,55,66])
nums[2] = 333
print(nums)
'''
print('******************************************')
nums = (1,2,3,[44,55,66])
nums[3] = [44,55,66]
print(nums)
?? 4.3 ? ?? 元組 和 列表 互相轉(zhuǎn)換?
1.列表 = list(元組)
? 元組轉(zhuǎn)列表
2.元組 = tuple(列表)
? ?? 列表轉(zhuǎn)元組
? ? ? ? 注意:這兩個方法都是得到一個新的,不會修改原來的
ls1 = [1,2,3]
print(ls1)
ls2 = list(ls1)
print(ls2)
ls2 = list('123abc')
print(ls2)
print('******************************************')
tu1 = (1,2,3)
print(tu1)
tu2 = tuple(tu1)
print(tu2)
tu3 = tuple('123abc')
print(tu3)
print('******************************************')
ls = [1,2,3]
tu = tuple(ls)
print(ls)
print(tu)
print('******************************************')
tu = (1,2,3)
ls = list(tu)
print(ls)
print(tu)
?? 5.? 字典 ? ?
? ? ? ? ? ? ? ? ? ? ?? 1.格式
? ? ? ? ?? 字典 = {key1 : value1, key2 : value2 ......}
? ? ? ? ? ? ? ? ? ? ? ? ? 2.鍵和值
? ? ? ? ? ? 鍵必須是唯一的,但值則不必。
? ? ? ? ? ?? 值可以取任何數(shù)據(jù)類型,如字符串,數(shù)字或元組。
? ? ? ? ? ? ? ?? dict內(nèi)部存放的順序和key放入的順序是沒有關(guān)系的。
?? 5.1 ? ? 字典的 定義和使用
'''
語法:
標(biāo)識符 = {'鍵1':值1,'鍵1':值2...}
注意:
1、鍵必須是字符串,值是任何類型的
2、鍵必須是唯一的,值可以重復(fù)
3、如果鍵重復(fù)了,后面會覆蓋前面的
'''
infos = {
'sid':110,
'sname':'老王',
'age':22,
'hobby':['抽煙','喝酒','燙頭發(fā)']
}
print(infos['sname'])
print(infos['hobby'][2])
5.2 ? ? ?
? ? ? ? ? 1.增 改: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字典[鍵] = 值
如果次key不存在,就是往字典里新增一個鍵值對;否則,就是修改
由于一個key只能對應(yīng)一個value,所以,多次對一個key放入value,后面的值會把前面的值沖掉:
? ? ? ? ? ? ? ? ? 2.刪? : ? ? ? ? ?? 1. 字典.pop(鍵)
? ? ? ? ? ? ? ? ? ? 根據(jù)鍵,刪除指定的值,并將此值放回
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.? del 字典[鍵]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 根據(jù)鍵,刪除指定的值
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 3. ? 字典.clear()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 清空字典里的鍵值對
? ? ? ? ? ? ? ? ?? 3. 查:? 1.值 = 字典[鍵] 根據(jù)鍵查詢值
? ? ? ? ? ? ? ? ? ? ? ?? 2.字典.get(鍵,[默認(rèn)值])
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3. ? len(字典) 計(jì)算字典元素個數(shù),即鍵的總數(shù)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 4. ?? str(字典) 輸出字典可打印的字符串表示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 5.? dict.keys() 以列表返回一個字典所有的鍵
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6. ?? dict.values() 以列表返回一個字典所有的值
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 7. ?? dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
? ? ? ? ? ? ? ? ? 4. 判斷 : ? 1. 鍵 in 字典
? ? ? ? ? ? ? ? ? ? ? ? ? ?? 如果鍵在字典中存在,返回True
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 否則,返回False
? ? ? ? ? ? ? ? ? ? ? 5. 遍歷 ?? 1.使用for循環(huán)遍歷的三種方式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for key in dict:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? print('%s:%s'%(key,dict[key]))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? for key in dict.keys():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? print('%s:%s'%(key,dict[key]))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for k,v in dict.items():
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? print('%s:%s'%(k,v)
? ? ? ? ? ? ? ? ? ? ? 比如? :
#增加 改 查
字典的鍵是無序的,所以不能保證順序
如果存在這樣的鍵? 是修改? 否則就是刪除
'''
'''
infos ={
'sid':110,
'sname':'老王',
'age':22,
'hobby':['抽煙','喝酒','泡妞']
}
#新增
infos['sex']='男'
print(infos)
#修改
infos['age']=99
print(infos)
#刪除鍵獲取值
sname= infos.pop('sname')
print(sname)
print(infos)
#刪除
del infos['sname']
print(infos)
#長度
print (len(infos))
#清空
infos.clear()
print(infos)
'''
'''
infos={
'sid':110,
'sname':'老王',
'age':22,
'hobby':['抽煙','喝酒','泡妞']
}
print(infos['sname'])
print(infos.get('sex'))
#獲取,如果沒有,可以獲取默認(rèn)值
print(infos.get('sex','沒有'))
print(infos.get('sname','沒有'))
#遍歷鍵
for i in infos_keys:
print(i)
#獲取所有的鍵
infos_keys = infos.keys()
print(infos_keys)
#遍歷值
for i in infos_values:
print(infos_values)
#獲取所有的值
infos_values=infos.values()
print(infos_values)
#第一種遍歷字典的方式
infos_keys = infos.keys()
for k in infos_keys:
print('%s:%s'%(k,infos[k]))
#第二種遍歷 字典的方式
infos_items=infos.items()
print(infos_items)
for i in infos_items:
#print(i=%s%str(i))
key=i[0]
value=i[1]
print('%s:%s'%(key,value))
print('**********************************************')
'''
#第三種遍歷 字典的方式(推薦使用)
infos ={
'sid':110,
'sname':'老王',
'age':22,
'hobby':['抽煙','喝酒','泡妞']
}
'''
for k in infos:
print('%s:%s'%(k,infos[k]))
#判斷有沒有這個鍵
key =? input('輸入鍵:')
if key in infos:
print('有')
else:
print('無')
'''
infos_values = infos.values()
value =input('輸入要搜素的值:')
'''
#False表示沒有,True表示有
flag=False
#遍歷值
for i in infos_values:
if i==value:
flag=True
break
'''
flag = value in infos_values
if flag:
print('有')
else:
print('沒有')
6.? 傳遞?