1031

列表-切片

切片的目的就是獲取列表中的一部分,得到一個(gè)新的列表,不改變?cè)瓉怼?/p>

'''

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開始到長(zhǎng)度7,間隔為2

print(ls[0:len(ls):2])? #從下標(biāo)0開始到表長(zhǎng),間隔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))

傳遞

一個(gè)變量傳給另一個(gè)變量

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ù)字,字符串,布爾,空)與集合列表不同

傳遞變量,二者都是指向同一個(gè)地址內(nèi)存,如果是普通類型,不會(huì)影響另一方,如果是非普通類型(集合,對(duì)象),會(huì)影響另一方。

普通類型的傳遞再修改----->值傳遞

非普通類型的傳遞再修改-------->引用傳遞

元組

與列表類似,不同之處在于元組的元素不能修改。元組使用小括號(hào),列表使用中括號(hào)。元組的功能 = 列表不修改的功能。

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)變之后都是得到一個(gè)新的,不會(huì)修改原來的。

****************割**********************

num=(1,2,3,[22,33,44])

num[3][2]=4444 ? ?? #可以將元組里的列表內(nèi)的元素改變

print(num)

print(num[3][2])

元組是一個(gè)特殊的列表,只讀,不能修改。一旦定義并賦值之后,不能再修改,只有查詢的功能。如果元組只有一個(gè)值,后面需要加上逗號(hào),建議:元組,列表最后都加上一個(gè)逗號(hào)。

t1=(1,2,3)

t2=(1,2,3)? #? id 不一樣

字典

字典使用鍵-值(key-value)存儲(chǔ),具有極快的查找速度。使用{ ? } ? 字典的鍵是無序的,不能保證順序。

標(biāo)識(shí)符={’鍵1‘:值1,’鍵2:值2。。。。。。}

注意: 1-鍵必須是字符串,值是任何類型的 2-鍵必須是唯一的,值可以重復(fù),3-如果鍵重復(fù),后面會(huì)覆蓋前面的,就是如果存在這樣的鍵,是修改,不存在就是新增

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)

#長(zhǎng)度

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


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容