Python 入個門(三)

2021-10-02 05:21:51 字數 4323 閱讀 6316

python程式設計 從資料分析到資料科學 摘抄及拓展

12.2 關於else的用法:

a =[1

,3,5

,7,2

,4,6

,8]b =

sorted

(a, reverse=0)

#reverse為0從小到大排序,預設值為0

print

(list

(b))

# [1, 2, 3, 4, 5, 6, 7, 8]

print

(a)# [1, 3, 5, 7, 2, 4, 6, 8]

a.sort(

)print

(a)# [1, 2, 3, 4, 5, 6, 7, 8]

2.兩個列表的並列相加計算

mylist1 =[1

,2,3

,4,5

,6,7

,8,9

]mylist2 =[11

,12,13

,14,15

,16,17

,18,19

]ans =

[i + j for i, j in

zip(mylist1, mylist2)

]print

(ans)

# [12, 14, 16, 18, 20, 22, 24, 26, 28]

a =

[i for i in

range(10

)]print

(a)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

b =[

type

(i)for i in

[true

,1.0,2

+3j,]

]print

(b)#[, , , ]

c =[

'input%d.txt'

% i +

'dd%d'

% i for i in

range(5

)]print

(c)# ['input0.txtdd0', 'input1.txtdd1', 'input2.txtdd2', 'input3.txtdd3', 'input4.txtdd4']

a =[1

,2,3

,4,4

,5,6

,7]a =

[x for x in a if x !=4]

print

(a)# [1, 2, 3, 5, 6, 7]

a =[1,

2,3,

4,5,

6,7,

8,9,

10]a =list

(filter

(lambda x: x %2==

0, a)

)print

(a)# [2, 4, 6, 8, 10]

mylist =[2

,3,5

,6,7

,3,2

]print

(list

(enumerate

(mylist)))

# [(0, 2), (1, 3), (2, 5), (3, 6), (4, 7), (5, 3), (6, 2)]

mydict =

dict

((value, i)

for i, value in

enumerate

(mylist)

)print

(mydict)

# 過程:2:0,3:1 被後來追加的 2:6 3:5覆蓋

#

1.join

print

('.'

.join(

'hello'))

# h.e.l.l.o

2.strip:去除字串的左右空白

a =

' hello world '

print

(a.strip())

# 'hello world'

print

(a)# ' hello world '

3.ord和chr 計算對應的unicode編碼/對應的字元

4.str.upper() 大寫

5.應用

str1 =

['abc'

,'aaba'

,'abefg'

,'bb'

,'cc'

]str1.sort(

)print

(str1)

# ['aaba', 'abc', 'abefg', 'bb', 'cc']

str1.sort(key=

lambda x:

len(

list

(x))

)print

(str1)

# ['bb', 'cc', 'abc', 'aaba', 'abefg']

str1.sort(key=

lambda x:

len(

set(x)))

print

(str1)

# ['bb', 'cc', 'aaba', 'abc', 'abefg']

a =

b =print

(< a)

# true

print

(a | b)

# 合集

print

(a & b)

# 交集

print

(a - b)

# 差集

print

(a ^ b)

# 對稱差分

print

(.issubset(a)

)# true 是否為子集

print

(.issuperset(a)

)# true 是否為父集

c =frozenset()

# 不可變物件,資料分析和資料科學專案中通常採用frozenset

def

func()

:'''根據提示來輸出我'''

j =0print

('hello world'

)def

func2

(x):

print

(f' is from func2'

)return func2

func(

)# hello world

func()(

2)# hello world

# 2 is from func2

x =

0def

func()

:global x

x =1print

(x)

func()#1

print

(x)#1

x =0

deffunc()

: x =

2def

fun2()

:nonlocal x

x =3print

(f'fun2的x是 '

)print

('func的x是'

, x)

return fun2

func()(

)print

('全域性的x是'

, x)

'''func的x是 2

fun2的x是 3

全域性的x是 0

'''

(從python3開始不作為內建函式)

reduce() 函式會對引數序列中元素進行累積。

函式將乙個資料集合(鍊錶,元組等)中的所有資料進行下列操作:用傳給 reduce 中的函式 function(有兩個引數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個資料用 function 函式運算,最後得到乙個結果。

from functools import

reduce

sum=

reduce

(lambda x, y: x + y,[1

,2,3

,4,5

,6,7

,8])

print

(sum

)

終於看完第二篇了,呼

Python 入個門(二)

python程式設計 從資料分析到資料科學 摘抄及拓展 5.3強型別語言 print 2 3 這種寫法是錯誤的,python不支援資料型別的自動轉化 print 3 true 45.8python中的關鍵字 使用模組keyword中的屬性kwlist檢視,這裡返回的是乙個列表。import keyw...

樹刨入個門?

重兒子 重兒子是每個節點的兒子節點中子樹節點數最大的那乙個。樹鏈刨分,把乙個樹砍成好多份變成乙個陣列p,p陣列裡存的是點的訪問到的順序,但是點的順序是根據什麼來的?先訪問重兒子,因為這樣可以盡可能多的一下找好長的鏈。經典問題 1.給樹上兩個節點之間的最短邊上加上val 2.查詢兩點的最短距離 用到好...

Python驗證三門問題

問題名字來自該節目的主持人蒙提 霍爾 monty hall 參賽者會看見三扇關閉了的門,其中一扇的後面有一輛汽車,選中後面有車的那扇門可贏得該汽車,另外兩扇門後面則各藏有乙隻山羊。當參賽者選定了一扇門,但未去開啟它的時候,節目主持人開啟剩下兩扇門的其中一扇,露出其中乙隻山羊。主持人其後會問參賽者要不...