第六部分函式、資料結構

weixin_33797791發表於2019-01-31

def hello():

    print('hello,world!')

hello()


#帶引數變數的函式

#計算面積函式

def area(w,h):

    return w*h

name=str(input('請輸入名字:'))

print('welcome',name)

w=int(input('請輸入寬度'))

h=int(input('請輸入高度'))

print('寬:',w,'高:',h,'面積:',area(w,h))


#匿名函式

sum=lambda a,b:a+b

print('相加後的的值為:',sum(3,4))


#資料結構

#列表方法

a=[65.25,333,333,1,1234.5]

print(a)

print(a.count(333),a.count(65.25),a.count('x')) #列表元素出現的次數

a.insert(2,-1) #在第三個元素後面插入一個值

a.append(333) #在列表末尾加入333

print(a)

print(a.index(333)) #返回元素為333的第一個位置的索引

a.remove(333) #刪除值為333的第一個元素

print(a)

a.reverse() #倒排列表中的元素

print(a)

a.sort() #對列表中元素進行排序

a


#把列表當作堆疊使用

stack=[1,2,3,4,5,6]

stack.append(7) #列表末尾增加一個元素

stack.append(8)

print(stack)

stack.pop() #預設將列表末尾一個元素移除

print(stack)

stack.pop(1) #將列表位置索引為1的元素移除

stack


#將列表當作佇列使用

from collections import deque

queue=deque(["Eric", "John", "Michael"])

queue.popleft() #第一個元素移除

queue


#列表推導式

vec=[2,4,6]

a=[3*x for x in vec]

print(a)

b=[[x,x**2]for x in vec]

print(b)

#用 if 子句作為過濾器:

c=[3*x for x in vec if x>3]

print(c)


#關於迴圈和其它技巧的演示

vec1=[2,4,6]

vec2=[4,3,-9]

a=[x*y for x in vec1 for y in vec2]

print(a)

b=[vec1[i]*vec2[i]for i in range(len(vec1))]

print(b)

相關文章