第四章筆記(字串 正規表示式)

2021-10-01 08:36:53 字數 3931 閱讀 7542

字串

題目1:將字串的首字母替換成z

s=

"abcdefg"

s2="z"

+s[1:]

#s[1:]:從第二個數開始切片,一直字串結束

print

(s2)

答案:zbcdefg

題目2:將字串中的a替換成z

s=

"12345a54321"

s1=s.index(

'a')

s2=s[

:s1]

+"z"

+s[s1+1:

]#獲取前後的切片

print

(s2)

結果:

12345z54321

split的用法:

x=

input

("請輸入三個整數:"

)y=x.split()a=

eval

(y[0])

b=eval

(y[1])

c=eval

(y[2])

print

(a+b+c)

結果為:

請輸入三個整數:12 34 56

102

x=

input

('input three names:'

)y=x.split(

)#鍵盤輸入以空格為分隔符

print

(y[2

],y[1]

,y[0

])

結果為:

input three names:jk v jimin

jimin v jk

x=

input

('input three names:'

)y=x.split(

',')

#鍵盤輸入以','為分隔符

print

(y[2

],y[1]

,y[0

])

結果為:

input three names:jk,v,jimin

jimin v jk

join,map的用法:

x=

[i for i in

range(1

,11)]

y=list

(map

(str

,x))

#join 裡的為字串

print

("+"

.join(y)

,'='

,sum

(x))

結果為:

1+2+3+4+5+6+7+8+9+10 = 55

正規表示式

1、查詢指定字串

import re

x='123 abc 789 abc'

print

(re.findall(

'[0-9]+'

,x))

print

(re.findall(

'[a-z]+'

,x))

print

(re.findall(

'[a-z]+'

,x))

#不帶+篩選的是單個字元

print

(re.findall(

'[1-9a-z]+'

,x))

print

(re.findall(

'[1-9a-za-z]+'

,x))

print

(re.findall(

'[^1-9]+'

,x))

#不含1-9的字串

#空格的用法

y='123 , , '

print

(re.findall(

'[^\s]+'

,y))

#格式 re,findall('[^0-9\s]',x),篩選x中不含1-9和空格的字串

結果為:

[『123』, 『789』]

[『abc』]

[『abc』]

[『123』, 『abc』, 『789』]

[『123』, 『abc』, 『789』, 『abc』]

[』 abc 『, 』 abc』]

[『123』, 『,』, 『,』]

2、寫檔案,並儲存

alist=

list

(range(1

,11))

blist=

list

(map

(str

,alist)

)cstr=

'+'.join(blist)

dstr=cstr+

'='+

str(

sum(alist)

)print

(dstr)

open

('e:/test.txt'

,'w'

).write(dstr)

import os

os.getcwd(

)#預設路徑

print

(os.getcwd(

))

結果為:

1+2+3+4+5+6+7+8+9+10=55

c:\users\bts97

3、爬蟲,找字母,及單詞

import urllib.request  

r=urllib.request.urlopen(

"")#開啟網頁

s1=str

(r.read())

#讀取其中的字元並轉化為字串型別

di=for i in

set(s1)

:

di[s1.count(i)

]=i #記錄鍵為出現的次數,值為字元

klist=

list

(di.keys())

#對鍵的集合進行排序

klist.sort(reverse=

true

)#倒序排列(大的放在前面)

print

(di)

print

(klist[0]

,di[klist[0]

])#列印出現次數最多的鍵值對

print

(klist[

len(klist)-1

],di[klist[

len(klist)-1

]])#列印出現次數最少的鍵值對

import urllib.request

r=urllib.request.urlopen(

"")s1=

str(r.read())

import re

s2=re.findall(

"[a-za-z]+"

,s1)

di1=

for i in

set(s2)

: di1[s2.count(i)]=i

blist=

list

(di1.keys())

blist.sort(reverse=

true

)print

(di1)

print

(di1[blist[0]

],blist[0]

)print

(di1[blist[

len(blist)-1

]],blist[

len(blist)-1

])

正規表示式第四章

正規表示式的其他方法 match方法,進行驗證,獲得驗證後的返回值 正規表示式中 g代表全域性模式匹配 var str 中國移動 10086,中國聯通 10010,中國電信 10000 var array str.match d g 獲取全域性模式匹配項 console.log array 1008...

第四章 表示式

左值,用的是物件的身份 記憶體中的位置 右值,用的是物件的值 解引用生成 左值,取位址生成乙個 右值 bool b true bool c b c為true,因為 bool值在計算的時候被轉換成整型號int,所以b被轉換成 1,不為0,所以賦值給c的時候,為true int b while b ge...

第四章 表示式

這個概念暫時很模糊,打算學完這一章再總結。目前的理解是,左值有名字,可以通過名字訪問記憶體,右值沒有名字,一般是運算的中間結果或者字面值常量等。const修飾的變數是常量左值 如果decltype 函式的括號中表示式結果是左值,則得到乙個引用型別。例如在下面這段 中,b是int型別,c是int 型別...