高階函式程式設計補充

2021-08-21 02:46:14 字數 1681 閱讀 2156

# zip 案列

l1 = [1,2,3,4,5,6,7]

s1 = ['a','b','c','d','e','f','g']

z = zip(l1,s1)

print(type(z))

for i in z:

print(i)

# 預設從零開始建立索引

l1 = [12,43,543,665,654,24,233,43]

em = enumerate(l1)

l2 = [i for i in em]

print(l2)

# 從20開始進行建立索引

em2 = enumerate(l1,start=20)

l3 = [i for i in em2]

print(l3)

import collections

point = collections.namedtuple("point",['x','y'])

p = point(11,22)

print(p.y)

print(p[0])

circle = collections.namedtuple("circle",['x','y','r'])

c = circle(100,100,50);

print(c)

print(type(c))

# 檢測以下namedtuple到底屬於誰的子類

isinstance(c,tuple)

from collections import deque

q = deque(['a','b','c'])

print(q)

# 在右邊追加乙個資料

print(q)

# 從左邊插入一下資料

print(q)

d1 = 

print(d1)

# 如果獲取d1裡面沒有的key,則會報錯!

print(d1['one'])

from collections import defaultdict

# lambda表示式,直接返回字串

func = lambda: "yes,i am boy"

# 通過定義defaultdict()方法,如果取沒有的key,則執行func函式

d2 = defaultdict(func)

d2["one"] = 1

d2["two"] = 2

print(d2['one'])

print(d2['four'])

from collections import counter

# 為什麼下面結果不把」dsahdsjadhjasdjksa「作為鍵值,而是以其中每乙個字母作為鍵值

# 因為括號裡面的內容為可迭代內容

c = counter("dsahdsjadhjasdjksa")

print(c)

# counter()

s = ["wtt","love","love","whj"]

c = counter(s)

print(c)

# counter()

C 高階補充

點選前往 今天看到的這樣的一題,感覺還是挺有意思的,記錄下來 它給出了乙個函式,填寫以下函式完成功能 vector findmax vector num 空陣列,返回空 vector res len,1 返回結果 初始化 1,表示未找到 stack notfind 棧 num中還未找到符合條件的元素...

js高階補充

函式的兩個重點 1.函式可以作為乙個引數在傳遞到另乙個函式中。2.js是非同步程式語言。函式是一段可執行的 段,它作為乙個引數傳遞給其他的 其作用是在需要的時候方便呼叫這段 函式 在j ascript中函式也是物件的一種,同樣物件可以作為引數傳遞給函式,因此函式也可以作為引數傳遞給另外乙個函式,這個...

函式式程式設計 高階函式

高階函式英文叫higher order function。什麼是高階函式?我們以實際 為例子,一步一步深入概念。1 變數可以指向函式 以python內建的求絕對值的函式abs 為例,呼叫該函式用以下 abs 10 10但是,如果只寫abs呢?abs 可見,abs 10 是函式呼叫,而abs是函式本身...