Python的字典、集合和函式

新時代的碼農發表於2023-05-18

字典

1.格式:變數名={key1:value,key2:value}

2.特點:有序,不可重複,可變,任意型別,效能不好

3.根據鍵訪問

1.z={key1:value,key2:value}

print(z["key"])

2.z={key1:value,key2:value}

print(z.get("name"))

4.修改

1.有對應的key

z["key"]="value"

print(z)

2.沒有對應的key是新增資料到末尾

5.新增

z["key"]="value"

6.刪除

1.del

del z["key"]

print(z)

2.clear:清空字典裡的內容

z.clear()

print(z)

7.長度

print(len(z))

字典迴圈

1.取出key

for i in z.keys():

   print(i)

2.取出value

for i in z.values():

   print(i)

3.取出key和value方法一

for i,j in z.items():

   print(i,j,sep=":")

4.取出key和value方法二

for i in z.keys():

   print(i,z[i],sep=":")

5.擴充的

for i,j in enumerate(z):

   print(i,j,z[j])

集合和函式

一、集合

1.集合的特點:無序、去重

2.格式:j={元素,元素}

3.新增:

1.j.add(元素)

2.

j={1,"vfd",5,2,"vedfbrgb"}

i=["小何","真美",48]

j.update(i)

4.刪除

1.remove:刪除集合中的元素 如果有直接刪除 如果沒有程式報錯

j.remove(元素)

2.pop:都是數字,刪最小的,其餘升序排序;

  都是非數字,隨機刪,其餘隨機排序;

數字和非數字,隨機刪,刪數字的話就是最小的,刪非數字的話,隨機刪

注意:如果集合中沒有元素,則報錯

j.pop()

3.discard:如果元素存在直接刪除 如果元素不存在不做任何操作

j.discard(元素)

5.交集

連線多個集合,輸出相同的元素(set可用)

    j={1,"vfd",5,2,"vedfbrgb"}

     i={5,2,"小","美",48}

     a=j&i

    print(a)   #{5,2}

6.並集

去重,得到全部集合中全部的元素

    j={1,"vfd",5,2,"vedfbrgb"}

    i={5,2,"小","美",48}

    a=j|i

    print(a)   #{1, 2, 5, 48, '真', '小', 'vfd', 'vedfbrgb'}

7.公共方法

1.加(列表和元祖可用)

j=(1,"vfd",5,)

i=(5,48)

print(j+i)  #(1, 'vfd', 5, 5, 48)

2.乘(列表和元祖可用)

j=(1,"vfd",5,)

i=(5,48)

print(j*2)  #(1, 'vfd', 5, 1, 'vfd', 5)

3.包含(in)(列表和元祖和字典可用)

j=(1,"vfd",5,)

print(1 in (j))   #True

j=(1,"vfd",5,)

print(6 in (j))   #False

4.不包含(no in)(列表和元祖和字典可用)

j=(1,"vfd",5,)

print(1 not in (j))   #False

j=(1,"vfd",5,)

print(6 not in (j))   #True

8.內建函式

長度:print(len(變數名))

最大值:print(max(變數名))

最小值:print(min(變數名))

del:第一種:del 變數名

第二種:del(變數名)

二、函式

1.什麼是函式

其實就是方法、功能

2.函式的定義和呼叫

格式:

def函式名():

執行語句

函式名()

3.函式引數

1.正常的

defadd2num():

a=11

b=22

c=a+b

printc

2.位置引數

def函式名(引數1,引數2):

程式碼塊

函式名(值1,值2)

3.關鍵字引數

def函式名(引數1,引數2):

程式碼塊

函式名(引數1=值1,引數2=值2)

案例:deffun(a,b):

print("a:",a)

print("b:",b)

fun(a=2,b=3)

案例二:deffun(a,b):

print("a:",a)

print("b:",b)

fun(3,b=2)

注意:位置引數一定要在關鍵字引數之前

4.預設引數(預設引數)

案例一:

defprintinfo(name,age=20):

print("name:",name)

print("age:",age)

printinfo(name="anfly")

#name: anfly

#age: 20

案例二:

defprintinfo(name,age=20):

print("name:",name)

print("age:",age)

printinfo(name="anfly",age=10)

#name: anfly

#age: 10

注意:預設引數一定要位於位置引數的最後面

5.不定時引數

*args:為元組

**kwargs:為字典

defprintinfo(*args,**kwargs):

print("args:",args)

print("kwargs:",kwargs)

printinfo(1,2,3,a=5,b=6)

#args:1,2,3

#kwargs:a=5,b=6

6.引數位置順序

deffun(位置引數,*args,預設引數,**kwargs):

程式碼塊

fun(引數值)

案例:

deffun(a,b,*args,c=6,**kwargs):

print("a=",a)

print("b=",b)

print("args=",args)

print("c=",c)

print("kwargs=",kwargs)

fun(1,2,3,4,5,9,c=1000,f=45,cf=65)

#a= 1

#b= 2

#args= (3, 4, 5, 9)

#c= 1000   如果下面的fun不給c=1000的話下面輸出的c的值就為6

#kwargs= {'f': 45, 'cf': 65}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70030103/viewspace-2953020/,如需轉載,請註明出處,否則將追究法律責任。

相關文章