python入門知識總結

2021-10-19 22:56:24 字數 3799 閱讀 8718

python的基礎由潛入深的理解,具體詳解內容來自**

list和tuple的最大區別是:list是可變型別,tuple是不可變型別

# list和tuple都有切片操作,

l =[

'michael'

,'sarah'

,'tracy'

,'bob'

,'jack'

]# 取前三個元素l[0

:3]l[

:3]# 取最後乙個l[-

1]# 前四個, 每兩個取乙個l[0

:4:2

]# 後三個元素l[-

3:]

在python中迭代使用關鍵字為 for 迴圈,其內部封裝了next()和iter() 方法

# 只要是可迭代物件,都可以用for迴圈進行迭代, 資料型別是 tuple還是list

for i in

'anc'

:print

(i)for i in[1

,2,3

,4]:

print

(i)# 判斷乙個物件是否可迭代使用 collections

from collections import iterable

isinstance

('abc'

, iterable)

# true

isinstance

([a, b]

, iterable)

# true

isinstance(12

, iterable)

# false

# 一般的列表生成式

「x*x for x in

range(10

)]#帶有 if的判斷語局的列表生成式

「x for x in

range

(100

)if x%2==

0]# if else 的判斷語句,因為列表推到式的for迴圈後一定要有乙個結果,所以列表推到式的if else語句放在for前面

「 x*x if x%2==

0else

none

for x in

range

(100)]

# 多層巢狀的for迴圈, 生成的是乙個 n*m的陣列

「 m +n for m in

'abc'

for n in

'xyz'

]

g =

(m for i in

range

(100))

# g就是生成器

# 可以通過next()列印要列印的資料

next

(g)next

(g)# 到最後會丟擲 stopiteration 的異常,所以我們對生成器一般使用for迴圈進行操作

for i in g:

print

(i)

# 對於乙個函式,如果有yield關鍵字,就是乙個生成器

deffunc()

print

('stup1'

)yield

1print

('stup2'

)yield

2a = func(

)next

(a)

# 可以通過 collection.iteration  判斷是否是迭代器

from collection import iteration

isinstance([

], iteration)

# false

isinstance((

), iteration)

# false

isinstance

((i in

for rnage(10)

, iteration)

# true

# 判斷是否是可迭代 iterable

from collection import iterable

isinstance([

], iterable)

# true

isinstance

('abc'

, iterable)

# true

isinstance

(123

, iterable)

# false

# map() 可以接收多個引數, 乙個是函式名f,其他的是可迭代物件, 返回的結果是乙個迭代器iterator

deffunc

(x):

return x*x

si =

map(func,(1

,2,3

)print

(next

(si)

)# 1

print

(next

(si)

)# 4

deffunc2

(x,y)

:return x*y

si2 =

map(func2,(1

,3,5

),(2

,4,6

))print

(next

(si2)

)# 2

print

(next

(si2)

)# 12

print

(next

(si2)

)# 30

# filter() 第乙個引數也是接收函式,後面接收的是可迭代物件, 把返回true的值返回, 返回的也是乙個迭代器iterator

defnot_empty

(s):

return s and s.strip(

)list

(filter

(not_empty,

['a',''

,'b'

,none

,'c'

,' '])

)# 結果: ['a', 'b', 'c']

# sorted()可以比較兩個值的大小,如果是比較非資料,則沒有意義,我們可以通過函式進行比較出來

sorted([

36,5,

-12,9

,-21]

)# 按絕對值進行比較

sorted([

36,5,

-12,9

,-21]

, key=

abs) # [5, 9, -12, -21, 36]

sorted([

'bob'

,'about'

,'zoo'

,'credit'

], key=

str.lower)

#'about', 'bob', 'credit', 'zoo']

# sortd的key也可以傳入函式,使用函式的結果來進行排序

# 按成績高低來排序

l =[

('bob',75

),('adam',92

),('bart',66

),('lisa',88

)]defby_score

(t)return t[1]

sort(l, by_score)

# [('bart', 66), ('bob', 75), ('lisa', 88), ('adam', 92)]

Python入門知識總結(一)

1 python注釋 單行注釋 開頭 多行注釋選中內容ctrl 快捷鍵 注釋 print hello world 注釋2 注釋3 2 不適用 而使用縮進來表示同乙個 塊 if true print true else print false 下列 塊因為縮排不一致會導致錯誤 if true prin...

python入門知識

哈嘍,小夥伴們,今天跟大家分享一下python的一些基礎知識 首先,自我介紹一下,我呢,是一名python初學者,現在的知識儲存量不夠,所以,只能分享一些我所知道的關於python的知識.以後也會持續分享,希望各位小夥伴能夠喜歡 一 python的輸出方式 首先,介紹一下python的輸出方式,主要...

python入門知識

import random player input 請輸入 剪刀 0 石頭 1 布 2 player int player 產生隨機整數 0 1 2 中的某乙個 computer random.randint 0,2 用來進行測試 print player d,computer d player,...